2017-02-16 27 views
0

我使用.NET 4.6.1在Windows上运行 和Linux应用程序使用.netcore 1.1创建的NuGet Linux和Windows

我希望做一个的NuGet可一个asp.net表单应用程序之间共享在两个应用程序之间共享。

我创建了一个.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,文化=中立,公钥= cc7b13ffcd2ddd51

我使用.NET 4.6.1,所以我相信这是.NET的核心就是唠叨

我可以在here检查并确认这是一个.NET核心库。

我还在生产服务器中设置了.net库。但我仍然得到同样的错误。

我试过所有可能的组合和版本,我认为这是合乎逻辑的。并不知道如何解决它。

+0

在你的框架声明你不应该导入'netcoreapp1.0'。你也有两次相同的条目。 'netstandard1.x'的导入应该是'portable-net451 + win81'或类似的东西('portable-net45 + win8'或'portable-net46 + uap'或任何你希望作为最小API的东西 - 但记住,'portable-net45 + win8'是可用于.NET Core的最低PCL配置文件) – Tseng

回答

0

我不知道你为什么说你使用net 4.6.1。因为您使用的是netstandard1.4作为框架,请查看您的project.json文件。

请尝试以下project.json文件:

"buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true 
}, 
"dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "Newtonsoft.Json": "9.0.1", 
    "StackExchange.Redis": "1.2.0" 
}, 
"frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     } 
     } 
    } 
    } 

确保生产服务器已安装运行时和Microsoft.NETCore.App-1.1.0