我試圖設置我的環境來開發,調試和部署Windows桌面小工具。我在我的項目中遇到了一些障礙,當配置設置爲「Debug」時,我無法在小工具上運行構建。如果配置設置爲「發佈」,則構建將執行以下自定義任務:MSBuild「調試」配置不能在VS 2010 Beta 2中工作
- 將小工具內容複製到單獨的文件夾。
- 縮小/混淆javascript文件,刪除註釋和空白。
- 將文件打包到CAB文件中。
- 用數字證書籤署CAB文件。
這將運行得很好,我的「調試」配置具有以下任務定義
- 複製小工具文件夾
AppData\Local\Microsoft\Windows Sidebar\Gadgets\
。 - 使用IDesktopGadget界面啓動小工具。
如果我將這兩個任務複製到「發佈」配置,它們運行得很好 - 沒有任何問題。我試過創建一個名爲「測試」的單獨配置,從「發佈」配置複製。
如果我嘗試建立不是「釋放」其他任何配置,我得到一個即時消息說「構建成功」,但沒有任務已經運行在所有。
編輯:我已經開始了賞金,因爲我仍然有與VS 2010 RC相同的問題,這是非常令人沮喪的。
進一步編輯:
感謝John我能夠調試構建過程。這使我認識到,與條件調試<Target>
元素正被完全忽略(甚至不處理)。當我換我<Target>
元素的位置,它的工作:
<Target Name="Build" Condition="'$(Configuration)' == 'Release'">
<!--
<Obfuscate PathToJasob="C:\Program Files (x86)\Jasob.com\Jasob 3.5" Path="$(GadgetFolder)" Output="$(GadgetName)_obf" log="jasob_log.txt" />
-->
<BuildGadget BuildFormat="CAB" Path="$(GadgetFolder)" Target="$(GadgetName).gadget" />
<SignGadget CertName="Cert1" TimestampURL="http://timestamp.comodoca.com/authenticode" Target="$(GadgetName).gadget" />
</Target>
<Target Name="Build" Condition="'$(Configuration)' == 'Debug'">
<CopyToGadgets GadgetFolder="$(GadgetFolder)" GadgetName="$(GadgetName)" />
<RunGadget GadgetName="$(GadgetName)" />
</Target>
所以它看起來像第二<Target Name="Build">
元素覆蓋第一,儘管Condition
屬性存在。我能做什麼?
是什麼,當你做診斷日誌生成輸出? (通過'/ verbologies:diag'作爲msbuild命令行的標誌) – 2010-02-12 20:13:10
在運行調試版本之前,您是否刪除了以前創建的所有dll和pdb文件?只是爲了確保msbuild不認爲它們已啓動-至今?您是否還從卷影副本緩存(位於「c:\ documents and settings \ \ local settings \」中的某處)刪除了這些文件? –
2010-02-13 19:05:33