我想在使用 dotnet publish 時在命令列中命名環境。我找到了這個解決方案
dotnet publish -o site /p:EnvironmentName=Production
我以前從未見過 /p: 引數,我想知道它到底是什么。我試圖用谷歌搜索它,但由于它的語法,很難找到任何東西。
我特別想知道我是否也可以在 bash 中的 Linux 機器上使用此命令。
uj5u.com熱心網友回復:
基本上,它被傳遞給 MSBuild 并將一個名為EnvironmentNamevalue的變數/屬性設定為Production。然后 MSBuild 腳本可以在執行各種任務時讀取該變數。<PropertyGroup>它與在 MSBuild 腳本(也是 VisualStudio 的 cpsroj 檔案)中設定屬性更不一樣。
例如,您可以在這里看到它
msbuild buildapp.csproj -t:HelloWorld -p:Configuration=Release
請注意,-p:語法與/p:(also-t:等/t:) 相同。前者是新的,而后者符合舊的“DOS”在 Windows 中提供命令列選項的方式。在相當長的幾年里,許多來自 Microsoft 的較新的開發人員工具都接受這兩種方式,但-首選,因為它也可以在 ie powershell 或 linux 中使用,而舊的/不能(或可以,但會導致一些問題或需要復雜轉義/參考)。
編輯:是的,我沒有完全回答.. -por/p不是“Windows 命令列的東西”。在您的示例中,這是dotnet程式的引數,我上面描述的只是因為dotnet碰巧后來呼叫了msbuild程式。如果您在其他任何地方,在任何其他應用程式中發現這樣的-p/引數,那么它可能會做一些完全不同的事情。/p
最后,在 Linux 上——是的,你也可以dotnet在 Linux 上將它與工具集一起使用(net core、mono 等)((我強烈建議使用-p:版本))。但是,同樣的規則適用。只要與這個名為 的應用程式一起使用dotnet,它就會產生在構建程序中設定環境名稱的效果。在任何其他情況下,或任何其他應用程式中,此類引數可以具有其他含義。這一切都取決于應用程式,無論是在 Windows 還是 Linux 上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/449585.html
上一篇:確定檔案夾是否有檔案
