In my ASP.NET 5 RC1 project (targeting only dnx46) I'm trying to add a reference to a (classic) Class Library project targeting .net 4.6.
I get this error at build time: ...\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3274: The primary reference "...\ClassLibrary1.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.6" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.5.1".
Why is this happening? My ASP.NET 5 project isn't targeting 4.5.1. According to the project.json file it's only targeting dnx46. I can't find any mention of .net 4.5.1 anywhere.
Here's the project.json for my WebApplication project:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"frameworks": {
"dnx46": {
"dependencies": {
"ClassLibrary1": "1.0.0-*"
}
},
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
And here's the project.json that the "wrapping" process creates for my ClassLibrary project:
{
"version": "1.0.0-*",
"frameworks": {
"net46": {
"wrappedProject": "../../ClassLibrary1/ClassLibrary1.csproj",
"bin": {
"assembly": "../../ClassLibrary1/obj/{configuration}/ClassLibrary1.dll",
"pdb": "../../ClassLibrary1/obj/{configuration}/ClassLibrary1.pdb"
}
}
}
}
It might be that you're experiencing VS 2015. Setting right target framework for ASP.NET 5 web project. The problem was related to IIS targeting 4.5.1 despite the project targeting the 4.6 framework.
Is your problem happening when you build from Visual Studio or when you run IIS?
The following is working for us.
ClassLibraryNet46
This is a classic .NET Framework class library that has .NET 4.6 as its target framework. There is a one class.
BowserKingKoopa.cs
WebApplicationNetCore
This is an ASP.NET Core Web Application that has only a Startup.cs class. We used Visual Studio to add the reference to the Net46 project (right click, add reference...)
Startup.cs
project.json
The warning is still there if built using VS 2015 Update 1, but web app works well and can call a method from .net4.6 assembly.
try to upgrade your utilities and Runtime version if you have't upgraded it yet.
then from the shell point to your working\project folder clean the cache and restore the project packages
then try build it