我如何实际将“ dotnet try-convert”应用于文件以转换为.net core?

时间:2019-12-24 21:33:38

标签: .net

https://github.com/dotnet/try-convert/我下载了此项目,并进行了构建,但是我不确定如何将其实际应用于要转换的项目?可能是一个相当琐碎的问题,但我确实反复考虑了一下,似乎无法弄清楚。

谢谢!

edit:自述文件确实提供了有关如何构建和选项的说明,但我不知道如何将其应用于项目。例如-p,--project

,我假设“ P”是文件路径的占位符。

因此,我打开命令提示符,然后运行try-convert.exe。然后,我输入--project 并按Enter。这应该导致文件被转换吗?这是我尝试过的方法,无法正常工作。有什么我想念的吗?

编辑编辑:也许视觉更容易表达我的观点:

在自述文件中,这是我要运行的命令

README

所以我运行try-convert.exe很好并且很花哨

Command Prompt

当我尝试转换时,没有运气

Error

如果有人能让我知道我在做什么错,那太好了!

3 个答案:

答案 0 :(得分:13)

在存储库中都有所有描述。您甚至不必克隆它。您可以轻松地将其安装为dotnet全局工具:

dotnet tool install -g try-convert

然后重新启动终端,并使用以下命令检查终端安装是否正确:

dotnet tool list -g 

其中列出了所有工具,并告诉您使用什么命令。尝试转换的帮助非常有用,因此您可以通过以下方式获得它:

try-convert --help

稍后,您可以尝试在整个解决方案上运行它,这意味着在您拥有.sln文件的文件夹中。但是,如果在至少一个项目中有一个像ASP.Net WEB API这样的启动项目,它就不会起作用。在这种情况下,您需要在每个项目上手动运行该工具。例如

try-convert -w .\<your-project-name>.csproj

对于API项目,只需创建一个针对.Net Core的新项目,然后将所有控制器和其他代码移到那里。启动项目对于迁移而言总是最复杂的,因此自动完成并非易事。

答案 1 :(得分:3)

要一次升级解决方案中的所有项目,而不是多次运行try-convert(每个项目一次),您可以在导航到解决方案(或存储库)后在命令窗口中使用以下Powershell脚本目录:

$paths = Get-ChildItem -include *.csproj -Recurse foreach($pathobject in $paths) { cd $pathobject.directory.fullName try-convert }

答案 2 :(得分:0)

要在 Windows 上安装 Try-convert,请在管理员模式下打开 CMD 并键入此内容

dotnet tool install --global try-convert --version 0.7.160902

here

获取最新版本的 try-convert