I was playing around with VS2015
and ASP.NET vNext
, and got stuck on trying to add a reference from vNext class library (kproj) to a regular class library (csproj) in the same solution. Visual Studio 2015 shows the following error message:
"The following projects are not supported as references".
Is it possible at all to add references to csproj from vNext class libraries?
Note: The kpm command has been replaced by dnu.
Visual Studio 2015 Preview (as of writing this) comes with the ASP.NET 5 stable release beta1. In this version there is no way to reference a csproj project from an ASP.NET 5 project.
However, on the development feed of ASP.NET 5 the command kpm wrap
was introduced to support referencing csproj-projects from ASP.NET 5 projects. See the github issue #827 in the aspnet/KRuntime repository and pull request #875 which closes the issue.
Here is an example how you would use kpm wrap
:
Make sure the newest version of the KRuntime is installed (check this with the kvm list
command) (I tested this with version 1.0.0-beta2-10709
).
Create an ASP.NET 5 class library project, I used the name ClassLibrary1.
Create a "normal" csproj class library, I named this ClassLibrary2 (make sure you put this in the src folder).
From the commandline, from the solutiondirectory run the command
kpm wrap .\src\ClassLibrary2
This gives the output:
Wrapping project 'ClassLibrary2' for '.NETFramework,Version=v4.5'
Source C:\Users\andersns\Source\ClassLibrary1\src\ClassLibrary2\ClassLibrary2.csproj
Target C:\Users\andersns\Source\ClassLibrary1\wrap\ClassLibrary2\project.json
Adding bin paths for '.NETFramework,Version=v4.5'
Assembly: ../../src/ClassLibrary2/obj/debug/ClassLibrary2.dll
Pdb: ../../src/ClassLibrary2/obj/debug/ClassLibrary2.pdb
Now in the project.json of ClassLibrary1 (which is ASP.NET 5) you can add a reference to ClassLibrary2 with this:
...
"dependencies": {
"ClassLibrary2": ""
},
...
Note: kpm wrap
did not run properly for me with cmd, I needed to launch powershell to make it run.
Starting with (Visual Studio 2015 RC) the kpm command has been replaced by dnu
The dnu command stands for (.NET Development Utility)
dnu wrap .\src\ClassLibrary2\ClassLibrary2.csproj
New ASP.NET Features and Fixes in Visual Studio 2015 RC http://blogs.msdn.com/b/webdev/archive/2015/04/29/new-asp-net-features-and-fixes-in-visual-studio-2015-rc.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With