我有一個csproj,我希望在Visual Studio中觸發特定文件的打開,但前提是目標是從Visual Studio中執行的,而不是從MSBUILD命令行執行。我該怎麼做呢?在MSBUILD中,如何指定一個檢查命令行或VS是否啓動它的條件?
11
A
回答
0
如果我正確理解你,你想在Visual Studio中創建時打開一個文件,而不是從MSBuild的命令行中打開一個文件?
如果是這樣,請在Visual Studio中指定PreBuild或PostBuild。
- 右鍵點擊Solution Explorer中的項目並選擇屬性
- 選擇活動標籤
- 添加無論是前或後生成事件打開所需的文件
2
將屬性添加到.csproj項目文件,例如:
<PropertyGroup>
<FromMSBuild>false</FromMSBuild>
</PropertyGroup>
然後在要運行的任務中,輸入一個評估該屬性的條件。例如,如果你想打開的notepad.exe每當構建從命令行執行和NOT視覺工作室:
<Target Name="BeforeBuild">
<Exec Command="C:\Windows\Notepad.exe" Condition="$(FromMSBuild)" />
</Target>
當然,當你運行,這是依賴於設置$(FromMSBuild)屬性正確通過命令行構建,就像這樣:
MSBuild myProject.csproj /p:FromMSBuild=true
32
報價從MSDN page:
當在Visual Studio中建立,物業$(BuildingInsideVisualStudio)設置爲true。這可以用在您的項目或.targets文件中,以使構建行爲有所不同。
示例如何才能在使用你的*凸出或.targets文件:
<PropertyGroup>
<MyProperty Condition="'$(BuildingInsideVisualStudio)' == 'true'">This build is done by VS</MyProperty>
<MyProperty Condition="'$(BuildingInsideVisualStudio)' != 'true'">This build is done from command line of by TFS</MyProperty>
</PropertyGroup>
相關問題
- 1. 遞歸運行一個命令,並檢查它是否存在
- 2. 如何檢查是否一個shell命令的結束在Python
- 3. 檢查一個HtmlElement是否有指令
- 4. 如何檢查命令是否存在?
- 5. 如何啓動一個psql命令行?
- 6. Visual Studio如何確定它是否必須啓動MSBuild?
- 7. 啓動條件 - 檢查服務是否正在運行
- 8. 如何檢查一個文件在BASH條件中是否有多於一行?
- 9. 如何停止Windows服務,檢查它是否已停止,並使用命令行重新啓動它?
- 10. 檢查進程是否正在運行,如果不啓動它
- 11. Batch \ CMD:檢查Apache是否正在運行,否則啓動它
- 12. 檢查文件中是否存在一條特定行?
- 13. 如何在VS Code中指定一個啓動項目?
- 14. 如何檢查變量或命令是否來自bash或unix?
- 15. 如何檢查特定命令行是否在cmd中運行propmt
- 16. 如何在執行vba之前檢查命令是否可行?
- 17. 如何檢查是否一個的MSBuild任務失敗,如果
- 18. 如何檢查命令是否完成?
- 19. 如何檢查命令是否成功?
- 20. 如何檢查命令行中的參數是否已設置?
- 21. 在java命令行上指定多個-cp或-classpath條目
- 22. 如何檢查memcached是否正在運行,如果不是從python啓動它?
- 23. 是否可以在引用另一個屬性的命令行中指定MSBuild屬性?
- 24. 如何在讀取日誌以檢查命令在執行另一個命令之前是否完成執行?
- 25. Android AsyncTask如何檢查它是否與特定的參數一起啓動
- 26. 如何在命令行上檢查我的SSL證書是否爲SHA1或SHA2
- 27. sql是否有命令來檢查一行是否爲零?
- 28. 如何在命令行中啓動textmate
- 29. 如何檢查一個動作是否在Java中執行?
- 30. 命令提示符:檢查Windows服務是否啓動
沒有 - 我有與它的自定義的MSBuild目標的的csproj。當我點擊Visual Studio中的構建時,我想讓它在目標中發生一個特殊的動作...像Condition =「StartedInVS()」。當我從命令linke(即msbuild ...)運行它時,我希望這種情況失敗。那麼MSBUILD如何在一個目標中檢測到目標是什麼/什麼? – zekeyeehaw 2012-03-06 21:37:29
你說得對,我很抱歉。我之前的回答是錯誤的,並且構建事件將被執行。我添加了另一個解釋如何實現您的目標的答案,並且這次我測試了它,以確保它。 – BryanJ 2012-03-07 03:26:09