我们有一个当前在.NET Core上运行的ASP.NET核心Web应用程序,它现在需要引用为其构建的内部库,并且只能在完整的.NET Framework上运行。
ASP.NET核心应用程序可以在.NET Core或完整的.NET Framework上运行。
...将现有的ASP.NET Core项目更改为在完整的.NET Framework上运行需要哪些步骤?
我似乎无法在文档或Visual Studio工具中找到任何可以在.NET Core和完整.NET Framework之间切换的内容。
答案 0 :(得分:5)
通过删除netcoreapp1.0
中的frameworks
部分并将其替换为net4xy
来更改project.json应该足够了,其中x和y取决于.Net Framework的版本你想要目标,例如{。1}} .Net 4.6.1。
例如,之前:
net461
后:
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
}
},
"imports": "dnxcore50"
}
答案 1 :(得分:1)
我猜你在定义这个ASP.NET Core应用程序时必须选择正确的项目类型。选择项目类型时,您可以选择是否要在任何地方运行.NET Core,或者在.NET Framework上运行的.NET Core(从对话框左上角的下拉列表中选择版本) 。
这些应该是新项目对话框中的不同选项。
这样,在您的引用(project.json)中,您将只看到您选择的所选版本和框架依赖项的.NET Framework(通常将.NET Framework引用添加为任何其他项目类型)。
在这个主题中有很多事情发生了,因为project.json正被Microsoft抛弃,转而支持MSBuild xml文件。
这里还有一篇关于这个主题的Scott Hanselman的好文章:http://www.hanselman.com/blog/HowToReferenceAnExistingNETFrameworkProjectInAnASPNETCore10WebApp.aspx
请注意,如果要运行在任何地方运行的.NET Core应用程序,则无法引用完整的.NET Framework库(仅限.NET标准版)。