【发布时间】:2017-02-16 08:02:15
【问题描述】:
我有一个使用 .net 4.6.1 在 Windows 上运行的 asp.net 表单应用程序 和一个使用 .netcore 1.1 的 linux 应用程序
我想制作一个可以在两个应用程序之间共享的 nuget。
我创建了一个 .net 核心库,它在我的 linux 应用程序中运行良好 这是它的project.jso
{
"version": "0.1",
"dependencies": {
"NETStandard.Library": "1.6.0",
"Newtonsoft.Json": "9.0.1",
"StackExchange.Redis": "1.2.0"
},
"frameworks": {
"netstandard1.4": {
"imports": "netcoreapp1.0"
}
}
}
我可以将我的 nuget 包添加到 Windows 应用程序并构建它而没有错误,但是当我想运行该应用程序时,我得到了所有错误,例如:
无法加载文件或程序集“System.Diagnostics.DiagnosticSource, 版本=4.0.0.0,文化=中性,PublicKeyToken=cc7b13ffcd2ddd51
我使用的是 .net 4.6.1,所以我认为是 .net 核心在唠叨
我可以签入here 并确认它是一个 .net 核心库。
我还在生产服务器中设置了 .net 库。但我仍然遇到同样的错误。
我尝试了所有我认为合乎逻辑的可能组合和版本。也不知道怎么解决。
【问题讨论】:
-
你不应该在你的框架声明中导入
netcoreapp1.0。你也有两次相同的条目。netstandard1.x的导入应该是portable-net451+win81或类似的东西(portable-net45+win8或 ``portable-net46+uap` 或任何您希望拥有的最低 API - 但请记住,portable-net45+win8是您最低的 PCL 配置文件可以与 .NET Core 一起使用)
标签: c# asp.net .net linux asp.net-core