2016-12-27 72 views
4

我想在WPF(.NET 4.6)應用程序和.NET Core應用程序之間共享項目。爲此,我製作了一個.NET標準庫,最初製作一個便攜庫,並將其在Visual Studio 2015中轉換爲.NETStandard 1.3版。使用.NETStandard時Nuget包不會複製到輸出

但是,.NETStandard庫需要引用實體框架(例如),所以我已經在project.json中添加了這個依賴關係,並且所有東西都很快成型。但是,當我真正運行應用程序時,只要我實際嘗試使用實體框架庫加載數據,就會收到File Not Found異常。這是預料之中的,因爲當使用.NETStandard時,沒有一個nuget包被複制到輸出目錄(與使用普通.NET的nuget不同),所以我可以看到異常的原因。

如何解決這個問題/使用.NETStandard庫和從.NET 4.6項目引用時,將nuget依賴項複製到輸出? (以下是我的project.json,如果需要,很高興添加更多代碼)。

{ 
    "supports": {}, 
    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Design": "1.1.0", 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.0", 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
    "NETStandard.Library": "1.6.1" 
    }, 
    "frameworks": { 
    "netstandard1.3": {} 
    } 
} 
+0

切換到Visual Studio 2017 RC,這是Windows上唯一能夠簡化項目參考場景的環境。 –

回答

1

微軟終於承認這是一個問題,will fix它,期待在的NuGet版本4.0.1,第一個更新的NuGet 4 VS 2017年發貨後。

現在最乾淨的解決方法是將<RestoreProjectStyle>PackageReference</RestoreProjectStyle>添加到傳統項目。

但是according to Rob Relyea MS將在RTM後忽略此屬性,因此另一種解決方法是<PackageReference Update="PlaceholderToConvinceThisProjectToGetTransitivePackageReferenceFromProjectReferences"/>

相關問題