只是好奇 - 每當我看到的.csproj的XML,它DefaultTargets="Build"
開始,因此我認爲<Target Name="Build">
應該存在;但是,我從未在任何.csproj
文件中找到此默認目標。爲什麼在任何.csproj文件中找不到<Target Name =「Build」>?
不VS編譯之前注射這種目標或沒有內置的MSBuild默認情況下它。內部會發生什麼?
只是好奇 - 每當我看到的.csproj的XML,它DefaultTargets="Build"
開始,因此我認爲<Target Name="Build">
應該存在;但是,我從未在任何.csproj
文件中找到此默認目標。爲什麼在任何.csproj文件中找不到<Target Name =「Build」>?
不VS編譯之前注射這種目標或沒有內置的MSBuild默認情況下它。內部會發生什麼?
近,你會看到這個文件的底部; <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
哪個進口標準目標,「Build」就是其中之一。導入會根據項目文件中提供的其他數據以動態方式生成「構建」目標。
存在一個或多個<導入...>某處一個導入其他文件(s)表示,應該有目標的項目文件...
那麼,有什麼問題呢?這取決於你的VS版本,項目文件版本,項目情況(TFS綁定與否),你對項目的設置。我建議你不要對這些事情好奇,因爲他們什麼都不教你。試着對邏輯設計及其實現方式感到好奇。除了這些結構之外,還有許多硬編碼的東西。
乾杯
方式進口的構建文件我很欣賞你的建議,但它並沒有回答我的問題。 –
是的,我知道。因爲正如你所說,只是一個建議,我的經驗讓我爲你寫。 ;) – Rikki
甲的csproj通常具有這樣的:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
其中根據MSDN也進口Microsoft.Common.targets這一種情況,即目標被定義。
看到由的 –
rene