在dotnet restore
上,我们收到以下错误:
包Microsoft.AspNet.SomePackage 5.6.7与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。软件包Microsoft.AspNet.SomePackage 5.6.7支持:net45(.NETFramework,Version = v4.5)
我们的project.json看起来像这样:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
"Microsoft.AspNet.SomePackage": "5.6.7",
"Microsoft.NETCore.App": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"portable-net45+wp80+win8+wpa81+dnxcore50",
"portable-net451+win8"
]
}
},
"runtimes": {
"win8-x64": {}
}
}
我们如何以运行我们的应用的方式dotnet restore
和dotnet run
?
答案 0 :(得分:19)
注意 - 通过在框架导入中添加“net451”,我能够使其工作。
"frameworks": {
"netcoreapp1.0": {
"imports": [
"net451",
"dotnet5.6",
"portable-net45+win8"
]
}
},
我是从here
取的答案 1 :(得分:7)
简短的回答是,你不能。在某些狭隘的情况下,您可以使用导入来覆盖nuget内置的依赖关系规则。在这种情况下,您不能,.NET Framework和.NET Core不兼容。错误表明该软件包仅支持net45(.NET Framework 4.5)。您不能将它与.NET Core应用程序一起使用
答案 2 :(得分:6)
如果您需要执行相同的操作但使用新的.csproj进行配置而不是使用project.json,请编辑.csproj文件并在属性组下面添加以下内容:
<PropertyGroup>
<PackageTargetFallback>net451;dotnet5.6;portable-net45+win8</PackageTargetFallback>
</PropertyGroup>
取自here。
答案 3 :(得分:0)
requirejs位于github(https://github.com/requirejs/requirejs)上,可以使用core作为依赖项进行编译。
如果软件包是开源软件包或源代码可用,则可以使用dot net core重新编译,而不是4.5框架。 这完全取决于其他依赖项及其与dotnet核心的兼容性。