Dot-Net
Visual Studio 忽略 MSBuild 文件 (csproj) 自定義
注意:Visual Studio 2010 SP1 / MSBuild 4.0
我為這個錯誤快瘋了,我不明白為什麼 Visual Studio 會這樣。我正在
.targets為特定解決方案中的項目編寫自定義文件。我已將.csproj文件編輯為:<Include Project="..\MyTargets.targets" />在
Microsoft.CSharp.targets靠近文件底部之後。這個想法是這個目標文件將通過修改_____DependsOn屬性來注入要執行的操作,就像PostSharp集成自身的方式一樣。在摸索我的目標如何無法執行後,我決定在命令行中使用 MSBuild 執行它,並查看格式良好的顏色輸出。
在命令行中,我的目標執行. 從視覺工作室(即使使用清理/重建),我的目標不執行.
我已經迷上
BuildDependsOn了這樣執行我的目標:<PropertyGroup> <BuildDependsOn> MyTargetGoesHere; $(BuildDependsOn) </BuildDependsOn> </PropertyGroup>我的第一個想法是我有錯誤的文件。我驗證了文件,它是正確的。然後我檢查它是否陳舊。讓 Visual Studio 進行一些更改,保存,執行。Visual Studio 的新更改生效,仍然沒有執行我的目標。
所以在這裡我越來越絕望。我在我的目標文件中放了一個**BLARING SYNTAX ERROR 。**MSBuild 爆炸,Visual Studio 編譯項目成功。
- 我究竟做錯了什麼?
- Visual Studio 不使用 MSBuild 文件嗎?
- 它會呼叫一些超級秘密目標而不是“建構”
Microsoft.Common.targets嗎?- 為什麼 msbuild 會以一種方式行事而工作室會以另一種方式行事,我認為它們旨在協同工作……
總結上面的評論,對導入的項目文件的更改不會觸發重新載入,對導入項目的更改也不會導致重新載入導入。需要重新載入解決方案文件以擷取在導入中所做的更改。