天天看點

問題及解決:使用dotnet publish釋出時Visual Stuido建立的配置檔案中的路徑失效

在Visual Stuido 2022中建立的項目需要釋出到檔案夾,使用Visual Studio的釋出功能建立釋出檔案然後執行釋出,一切正常,部署檔案可以生成到預設的目錄中。在Visual Studio中界面是這樣的:

問題及解決:使用dotnet publish釋出時Visual Stuido建立的配置檔案中的路徑失效

接下來,由于需要使用自動部署,希望使用指令行工具進行釋出,這可以使用dotnet publish指令完成:

<code>dotnet publish ./src/IDS4Admin.Admin/IDS4Admin.Admin.csproj /p:Configuration=Release /p:PublishProfile=FolderProfile3</code>

這時問題出現了,生成的檔案沒有拷貝到預設的目錄,而是在項目的bin/Release目錄中又新建立了publish目錄。仔細研究一下Visual Studio生成的部署配置檔案FolderProfile3.pubxml,發現有些問題:

生成的路徑使用的是PublishUrl,生成方法是WebPublishMethod,這應該有問題,檔案路徑應該使用PublishDir,生成的方法應該使用PublishProtocol,于是手工建立一個新的配置檔案FolderProfile4.pubxml,修改上面兩項内容:

使用指令行生成可以了,檔案能夠正确輸出到預設的目錄。可新的問題産生了,這個配置檔案在Visual Studio中被認為是Web部署:

問題及解決:使用dotnet publish釋出時Visual Stuido建立的配置檔案中的路徑失效

在Visual Studio中不能正确執行部署了。

從現象上看,似乎是Visual Studio把兩種部署方式搞反了,在現實中,隻能建立兩個部署檔案,一個用于指令行自動部署,一個用于Visual Studio手工生成。

本文來自部落格園,作者:尋找無名的特質,轉載請注明原文連結:https://www.cnblogs.com/zhenl/p/15603274.html