2011-06-03 125 views
0

我們有一個半複雜的Visual Studio解決方案,它有一個Silverlight 4前端,業務實體的CSLA 4.1以及使用CSLA WCF數據門戶。由於使用CSLA進行線序化,我們必須有我們的Silverlight business assemblies the same name as our server side business assemblies。由於衝突的程序集名稱而試圖構建我們的Web應用程序時出現問題。在開發人員的工作箱上編譯工作正常,因爲Visual Studio在解決方案級別避免衝突是自己的魔力,但在構建服務器上有單獨的Web應用程序和Silverlight項目的構建正在導致問題,這是由於Web應用程序引用Silverlight項目在.csproj中。因此,當我們讓TFS針對Web應用程序執行構建時,它將嘗試編譯Silver項目並更新XAP。我們把這個做成獨立的版本,所以我們不關心這個。編譯沒有Silverlight項目引用的Web應用程序

是否可以在構建Silverlight引用的開發人員計算機上設置.csproj構建Web應用程序,但在構建服務器上忽略它們?理想情況下,它將涉及不依賴於我們自己的定製MSBuild屬性在TFS中構建。作爲最後的手段,我們可以停止依賴.csproj構建腳本並創建我們自己的MSBuild文件,但我們還沒有爲此分配時間。

回答

1

我最終採取了修改Web應用程序的.csproj使該行

<SilverlightApplicationList>...</SilverlightApplicationList> 

有一個條件的下列

<SilverlightApplicationList Condition="'$(SilverlightApplicationList)' == ''">...</SilverlightApplicationList> 

然後在項目生成定義的解決方案,下過程 - >我添加的MSBuild參數

/p:SilverlightApplicationList=" " 

所以現在開發ers可以在本地構建,構建過程可以在沒有Silverlight項目的情況下構建Web應用程序。

相關問題