从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目?

Reference a Full Framework Library Project from ASP.NET Core MVC Web Application (RC2)?

我目前使用的是ASP.NET核心MVC RC2,它假定支持从核心MVC Web应用程序项目引用完整的框架库项目。但我似乎不能让它发挥作用。

我有一个现有的完整框架库项目,我想与一个新的核心MVC Web应用程序项目一起使用。但是,当我试图添加对库项目的引用时,我得到了一个错误,该错误表示它的目标框架与Web应用程序的目标框架不兼容。

为了简化问题,我创建了一个新的核心MVC Web应用程序和一个新的Windows代码库,并尝试将Web应用程序项目中的引用添加到库的项目中,得到了相同的错误消息。我已经搜索了堆栈溢出,我确实发现了一个似乎高度相关的问题:如何使ASP.NET核心RC2应用程序在具有旧的第三方依赖关系的net46框架上构建,但我无法使用那里的信息来解决我的问题。

以下是重现问题的步骤:我基于Visual Studio 2015中的"Web应用程序"模板创建了一个带有".NET核心"、"ASP.NET核心Web应用程序"项目的解决方案。

[pic 1

[pic 2

然后我在解决方案中添加了一个新的"Windows""类库"项目。

enter image description here

所以现在的解决方案是这样的:

pic 4

现在,当我尝试使用Visual Studio将引用从核心MVC Web应用程序添加到完整的框架库时,我得到一个错误,即"examplelib具有与当前项目examplewebapplication中的目标不兼容的目标框架。":

enter image description here

这个错误似乎是不言自明的,并且似乎希望我更改Web应用程序所针对的框架,使其与库相同,这是完全有意义的。问题是我找不到关于如何做到这一点的文档,而且IntelliSense没有特别的帮助。

我怀疑我需要为Web应用程序更改以下project.json文件之一:

1
2
3
4
5
"dependencies": {
   "Microsoft.NETCore.App": {
    "version":"1.0.0-rc2-3002702",
    "type":"platform"
   },

1
2
3
4
5
6
7
8
9
"frameworks": {
   "netcoreapp1.0": {
     "imports": [
       "dotnet5.6",
       "dnxcore50",
       "portable-net45+win8"
      ]
    }
  },

如何为核心MVC Web应用程序而不是.netcoreapp指定.netframework 4.6版?


有一个模板允许您以完整的.NET框架为目标-抱歉,还不能发布图像,但您可以转到:模板->Visual C->Web->ASP.NET核心Web应用程序(.NET框架)

请注意,您可以从上面的下拉列表中指定.NET框架的版本(通常如此)。

这会将project.json更改为:

1
2
3
"frameworks": {
"net461": { }
}

(取决于您选择的框架版本)。现在您可以添加对类库的引用。

1
2
3
4
5
6
7
8
9
"frameworks": {
   "net461": {
   "dependencies": {
   "ClassLibrary1": {
       "target":"project"
        }
     }
   }
}


按照罗恩C的步骤,这里是我刚刚测试过的一个Web API项目的完整project.json,它工作正常。

2