我有一个闪亮的新Asp.Net Core MVC App,它引用了一些较旧的net45
库。
在完整的net45框架上与Asp.Net Core RC1配合良好。从Asp.NET Core rc1迁移到rc2,我遇到了一个我不知道如何解决的障碍。
该应用程序是使用EF6,Autofac,Kendo.MVC的ASP.NET Core应用程序,它需要在完整的.Net 4.6框架上运行,因为存在使用WCF的引用库。
从rc1迁移到rc2时,我首先将NuGet.config提要更新为指向,https://www.myget.org/F/aspnetcirelease/api/v3/index.json
然后对进行以下更改project.json
AspNet
为AspNetCore
rc1-final
为*
MVC
并MVC Tag Helpers
已从重新命名6.0
为1.0
Application Insights
Microsoft.AspNet.Tooling.Razor
"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-*" }
"content": [ "wwwroot", "Views", "web.config", "appsettings.json" ]
AspNetCore.*
而不是引用AspNet.*
然后,我将框架对象替换为:
"frameworks": {
"netcoreapp1.0": {
"imports": [
"net45"
]
}
}
我做一个dotnet restore
,一切都解决了,除了1包:
error: Package Kendo.Mvc 2016.1.412 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Kendo.Mvc 2016.1.412 supports:
error: - dnx451 (DNX,Version=v4.5.1)
error: - dnxcore50 (DNXCore,Version=v5.0)
error: One or more packages are incompatible with .NETCoreApp,Version=v1.0.
info : Committing restore...
Errors in project.json
Package Kendo.Mvc 2016.1.412 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Kendo.Mvc 2016.1.412 supports:
- dnx451 (DNX,Version=v4.5.1)
- dnxcore50 (DNXCore,Version=v5.0)
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
因此,Kendo.MVC需要引用net45
或net451
而不是dnx451
,但是由于它来自NuGet提要,因此我无法更改它。
您是否知道可以快速解决此问题,而不用等待下一版Kendo.MVC的问题?
您的方法很接近。做得好。需要进行一些更改/添加。以下适用于dotnet restore
then dotnet run
。将完整的代码列表在GitHub上。
您frameworks
失败的原因是.NET Core(netcoreapp
)与.NET Framework(net
)不兼容,因此无法导入net45
。您的错误表明Kendo.Mvc
与dnx451
和兼容dnxcore50
。导入其中之一。然后为Kendo.Mvc
依赖于某些软件包的可移植导入(如果不这样做,则会看到构建错误,提示您执行此操作。)
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dnxcore50",
"portable-net45+win8+wp8"
]
}
}
现在,您的应用将恢复并生成。不过,它不会运行。
更改对Microsoft.NETCore.App
不具有的依赖"type" : "platform"
。否则,您的应用程序将无法单独运行,因为NuGet会抑制程序包的资产。
"dependencies" :
{
// others omitted for clarity
"Microsoft.NETCore.App": "1.0.0-*",
"Kendo.Mvc": "*"
}
添加一个runtimes
部分;我们现在在project.json中指定它,而不是依靠dnvm
。
"runtimes": {
"win8-x64": {}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句