2017-02-16 78 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