2009-02-17 12 views
5

我有一個Visual Studio 2005 .NET解決方案,擁有20多個子項目,包括部署項目。 VS2005的.NET部署項目中有一些檢測的依賴,已手動排除和糾正在手動添加值的.Net部署項目的檢測到的依賴關係奇蹟般地不被排除

然而有時,這些檢測依賴關係得到神奇未排除,觸發上構建一個警告: 警告:兩個或多個對象具有相同的目標位置('[targetdir] \')

導致檢測到的依賴項未被排除的觸發器是什麼?部署解決方案是否可以將其警告視爲錯誤,以便每晚構建不會繼續?

+0

你還在尋找答案? – cgreeno 2009-03-02 23:33:44

+0

我還沒有找到更好的解決方案,所以我想我是。構建過程中不會發生重新包含。我們已經有3到4位開發人員在開發時重新進行了包含,並且我們在某個時間點完成了雙重處理,並說明了THOSE是如何返回的。 – BrianH 2009-03-05 20:15:52

回答

0

確定這是比什麼都重要:)

hack你通常在Visual Studio中有2種選擇:

一)排除重複的DLL

b)設置條件您的複製DLL的屬性不同。

問題是,用這兩種方法,你仍然要去有他們神奇復位並獲得像以前那樣的警告..

什麼對我們的工作是以下解決方案:

一)轉到您的安裝項目,並創建一個自定義文件夾

b)設置你的自定義文件夾的DefaultLocation性質是一樣的,你需要這些DLL的一個將被置於。即對於ASP.NET應用程序,值爲[TARGETDIR] \ bin

c)然後將所有重複的dll拖放到此文件夾中,您現在應該不會收到警告。

就是這樣。你不應該得到這些dll的警告,如果你有任何額外的東西,只要把它們拖到這個文件夾。

希望這會有所幫助。

-Konstantinos

+0

問題在於你仍然在複製2個文件,其中一個可能不同,(這可能是爲什麼你會收到警告) – BrianH 2009-03-18 14:07:13

0

檢測依賴的討論刷新在這裏如果你正在使用多種開發環境和同一個項目可以解釋的行爲:

http://www.xmission.com/~legalize/msi/known-bugs-2003.html

+0

感謝您的鏈接。我正在使用VS-2005,並且您的鏈接中的前兩個問題似乎未在VS-2005中解決。誰知道2008年及以後... – BrianH 2009-05-05 17:33:08

1

我有同樣的問題,處理它大約一年,然後放棄並轉移到WiX。它也沒有幫助,因爲MSBuild for VS2005不能用於部署項目,所以我不得不'構建'我的構建版本。

無論如何,你可能想要考慮一些像你的安裝WiX的東西。

1

當依賴項目在依賴DLL上設置「Copy Local」時發生。部署/安裝項目將DLL的源和副本都列爲依賴項。