2017-08-28 218 views
3

我有一個在VS 2015中製作的共享庫項目,目標是「.NETStardard1.4」(無法升級,因爲需要支持Win10 UWP)。將Visual Studio 2015項目轉換爲Visual Studio 2017?

VS2017進口和建造,就好了。

然而,.NET的核心命令行dotnet buildThe imported project "C:\Program Files\dotnet\sdk\2.0.0\Microsoft\Portable\v5.0\Microsoft.Portable.CSharp.targets" was not found

我用VS2017創建一個新的.NET 1.4參考標準類庫項目。 .vcproj文件的內容完全不同,例如第一行表示<Project Sdk="Microsoft.NET.Sdk">,而對於VS2015創建的項目,則表示<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">命令行dotnet build構建了VS2017創建的項目。

問題是,如何將.NET Stardard 1.4項目從VS2015轉換爲VS2017(保留運行時版本),以啓用這些命令行.NET Core構建工具?

+0

我回答了這個問題,但我認爲我忘了回答它的一部分,你是什麼意思「保持運行時版本」? –

+0

@JoséPedro我的意思是我需要它來保持.NET標準1.4。如果我將升級它,它將停止在Win10 UWP上運行。 – Soonts

+3

從舊的csproj遷移了一些項目到新的csproj格式後,我可以建議創建一個空白項目,然後手動移動這些文件並讀取任何引用。這比通過每個遺留項目設置並決定如何繼續以及如何執行更容易。 – poke

回答

1

IIRC,Microsoft.Portable.CSharp.targets用於PCL項目。 PCL項目中對.NET標準的支持已被棄用。

在2017年VS使用新項目系統簡單的.NET 1.4的標準項目如下:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
     <TargetFramework>netstandard1.4</TargetFramework> 
    </PropertyGroup> 
</Project> 

注意,CPS了文件通配符功能,以及羅斯林項目系統會自動包括所有.cs文件, Compile.resx作爲EmbeddedResource

相關問題