升级过程
升级需要Project2015To2017Nuget包。
> dotnet tool install --global Project2015To2017.Migrate2019.Tool
> dotnet migrate-2019 wizard "D:\Path\To\My\TestProject.sln"
注意点
-
格外需要注意后期生成事件会出现部分宏不生效导致的执行错误问题(我这里vs2019下。参考官方库的issue或这个issue。
这里的原因是官方换了执行生成事件命令的节点。解决方法:在项目属性页把生成事件剪切出来,保存项目,再复制进去,这时候生成事件就会出现在正确的节点下。
<PropertyGroup>
<PreBuildEvent>"$(ProjectDirPreBuildEvent.bat" "$(ProjectDir..\" "$(ProjectDir" "$(TargetDir" 0 />
</PropertyGroup>
修改后的节点大概如下:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command=""$(ProjectDirPreBuildEvent.bat" "$(ProjectDir..\" "$(ProjectDir" "$(TargetDir" "$(DevEnvDir" 1 0" />
</Target>
自己编辑的话也可以,但是需要注意节点的位置变了。
构建版本号
change-assembly-version-plugin的来构建版本号,原理大概就是遍历AssemblyInfo.cs
文件来替换版本。
现在可以直接修改 .csproj
文件如下:
<AssemblyVersion>1.2.3.4</AssemblyVersion>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
之前的AssemblyInfo.cs
就可以直接删除了。
AssemblyVersion类似下面这样,可以参考这里。
MSBuild.exe /p:AssemblyVersion=5.4.3.0