2017-08-28 151 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

相关问题