我正在为C#中的简单解析器编写类库。最初创建它时,我使用的是.NET标准2.0,但现在我需要将其迁移到.NET 4.6,以符合解决方案中的其他项目以及使用NUnit的要求。
我尝试遵循in the Microsoft documentation的说明,但是当我尝试在属性中选择另一个框架时,我只能找到其他.NET标准版本。
我该如何迁移?我需要手动编辑.csproj
文件吗?
答案 0 :(得分:13)
打开项目文件(.csproj),并将TargetFramework更改为net462
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
答案 1 :(得分:6)
我在Visual Studio 2017中的个人经历是,重新创建项目并添加现有资源是最简单,最安全,最有效的方法-因为基于.Net Framework的csproj文件具有额外的xml元素(与Standard相比,基于),似乎仅更改“ TargetFramework”是不够的。 以下是默认情况下出现的部分差异:
答案 2 :(得分:2)
如果您将类库发布为Nuget包,则有更好的方法进行设置。查看这篇文章:
基本上,您可以为多目标设置类库,从而将其导入.net核心项目以及不同版本的.net框架中。
答案 3 :(得分:0)
我做了一些为我工作的步骤:
git push
您的代码,因此您可以进行备份:)将TargetFramework OR / AND TargetFrameworkVersion替换为
<TargetFramework>netcoreapp2.0</TargetFramework>
将项目行更改为通常的第一行(在xml根之后):
<Project Sdk="Microsoft.NET.Sdk"
>
删除通常是第二行(在xml根目录之后)的导入
希望这对您有用。它们似乎有很多步骤,但并没有那么复杂,这是一次努力。