我目前正在從VS2008向VS2012遷移相當大的解決方案。迄今爲止,這個解決方案依賴於命令行構建的幾個構建步驟,並且我想正確使用項目系統來執行這些構建步驟。我已經通過各種選擇,並決定在大多數需要它的VC++項目中定製構建步驟是有意義的。該解決方案是C++,C#& VB的組合。VS2012自定義構建步驟 - 將輸出視爲內容
這些任務包括使用第三方實用程序構建主要互操作程序集和處理輸出文件,其中輸入和輸出相同。
我已經有了一些牙齒問題,但我大部分都在使用這種方法。剩下的問題是將這些額外產出部署到依賴項目中的一個。
考慮一下;我有一個第三方組件,它給出了輸入的a.dll會產生兩個輸出,一個修改後的a.dll和a_util.dll。當我有一個依賴於a.dll的項目時,我現在需要該項目將a_util.dll拉到它的輸出中。我希望VS2012中的自定義構建步驟中的「將輸出視爲內容」字段在這方面會有所幫助,但我要在界面中使用單行,我找不到關於此選項的全面文檔。實際上,MSDN documentation只是假裝這個選項不存在。
如果任何人都可以幫忙解釋這個選擇,或者一種替代的方法,那將會很棒。
編輯
目前,我增加了BeforeBuild目標各相關項目的附加輸出複製到相關的項目。這種方法的問題(工作時)是維護的問題之一。不幸的是,如果錯過了這種類型的依賴關係,則會導致運行時錯誤。
是否有可能使用ILMerge,所以第三方組件將a.dll傳輸到修改a.dll? (a.dll和a_util.dll的組合) – ccppjava 2013-03-19 10:13:49
@ccppjava - 不,這不是一個選項...... util庫完全是本地的。 – dotcomslashnet 2013-03-19 10:16:13