工具地址:GitHub - dotnet/try-convert:幫助 .NET 開發(fā)人員將他們的項(xiàng)目移植到 .NET Core!
這是一個(gè)簡(jiǎn)單的工具,有助于將.NET Framework項(xiàng)目遷移到.NET Core。
如何使用它
在此處將其作為全局工具安裝:
dotnet tool install -g try-convert
如果您已經(jīng)安裝了它,請(qǐng)確保更新:
dotnet tool update -g try-convert
如果您再次使用該工具,請(qǐng)確保您使用的是最新版本:https://github.com/dotnet/try-convert/releases
如何使用該工具
嘮叨到解決方案的根目錄,只需執(zhí)行:
try-convert
或者,您可以做
try-convert -w .
如果只想轉(zhuǎn)換特定的子文件夾、解決方案或項(xiàng)目,請(qǐng)鍵入:
try-convert -w path-to-folder-or-solution-or-project
如果需要該工具的更多幫助,請(qǐng)運(yùn)行:
try-convert -h
由于這是用于轉(zhuǎn)換較舊的.NET Framework(Windows)項(xiàng)目,因此該工具僅適用于Windows。
注意:不要從 Visual Studio 開發(fā)人員命令提示符使用此工具。那里發(fā)生了特殊的MSBuild分辨率,最終與該工具不兼容。請(qǐng)使用普通的終端應(yīng)用程序。
如何構(gòu)建
簡(jiǎn)單:克隆存儲(chǔ)庫(kù)并運(yùn)行
build.cmd
若要在本地使用該工具,需要從源代碼生成它。一旦構(gòu)建完成,該工具將存在于:
/artifacts/bin/try-convert/Debug/net6.0/try-convert.exe
或者,您可以查看以下目錄并將其復(fù)制到計(jì)算機(jī)上的其他位置:
mv /artifacts/bin/try-convert/Debug/net6.0/publish C:/Users/<user>/try-convert
您也可以從發(fā)布目錄調(diào)用該工具。
支持政策
此工具不受任何支持。沒(méi)有人會(huì)為解決它的任何問(wèn)題而陷入困境,也沒(méi)有人有義務(wù)構(gòu)建此工具的人添加任何請(qǐng)求的功能。
這是一個(gè)由 .NET 團(tuán)隊(duì)成員在業(yè)余時(shí)間構(gòu)建的開源項(xiàng)目。盡管如果人們要求,我們將努力解決問(wèn)題并添加功能,但提交的任何問(wèn)題的默認(rèn)答案將是“我們將審查實(shí)現(xiàn)此請(qǐng)求的拉取請(qǐng)求”。
這個(gè)工具是為誰(shuí)準(zhǔn)備的?
此工具適用于希望獲得一些幫助將其項(xiàng)目遷移到 .NET Core(或 .NET SDK 樣式的項(xiàng)目)的任何人。
顧名思義,此工具不能保證將項(xiàng)目完全轉(zhuǎn)換為 100% 工作狀態(tài)。該工具是保守的,可以盡可能好地確保轉(zhuǎn)換后的項(xiàng)目仍然可以加載到Visual Studio中并生成。但是,有大量因素可能導(dǎo)致項(xiàng)目可能無(wú)法加載或構(gòu)建此工具明確未涵蓋的項(xiàng)目。其中包括:
- 解決方案中可能具有的復(fù)雜自定義生成
- 與 .NET Core 不兼容的 API 使用
- 不受支持的項(xiàng)目類型(如 Xamarin、Web 窗體或 WCF 項(xiàng)目)
如果大部分代碼庫(kù)通常能夠遷移到 .NET Core(例如許多沒(méi)有特定于平臺(tái)的代碼的類庫(kù)),那么此工具應(yīng)該會(huì)有很大幫助。
強(qiáng)烈建議您在受源代碼管理的項(xiàng)目上使用此工具。
該工具有什么作用?
它加載給定的項(xiàng)目并對(duì)其進(jìn)行評(píng)估以獲取所有屬性和項(xiàng)的列表。然后,它將內(nèi)存中的項(xiàng)目替換為基于 .NET SDK 的簡(jiǎn)單模板,然后重新評(píng)估它。
它在同一項(xiàng)目文件夾中執(zhí)行第二次評(píng)估,以便通過(guò)通配自動(dòng)拾取的項(xiàng)也將是已知的。然后,它應(yīng)用有關(guān)已知屬性和項(xiàng)的規(guī)則,最終生成兩種狀態(tài)的差異以標(biāo)識(shí)以下內(nèi)容:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-711610.html
- 現(xiàn)在可以從項(xiàng)目中刪除的屬性,因?yàn)樗鼈円延?SDK 隱式定義,并且項(xiàng)目具有默認(rèn)值
- 需要保留在項(xiàng)目中的屬性,因?yàn)樗鼈兏采w了默認(rèn)值或未在 SDK 中定義。
- 可以刪除的項(xiàng)目,因?yàn)樗鼈兪怯?SDK 中的 glob 隱式引入的
-
需要更改為語(yǔ)法的項(xiàng),因?yàn)楸M管它們是由 SDK 引入的,但會(huì)添加額外的元數(shù)據(jù)。
Update
- 需要保留的項(xiàng),因?yàn)樗鼈儾皇?SDK 中隱式的。
此差異用于轉(zhuǎn)換給定的項(xiàng)目文件。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-711610.html
到了這里,關(guān)于使用try-convert將.NET Framework項(xiàng)目遷移到.NET Core的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!