2

Visual Studio 2008 Web部署項目團隊建立ASPPARSE錯誤Web部署項目團隊構建錯誤

我似乎有一個共同的問題;一個正在顯示,但沒有明確的解決方案。

我有一個Visual Studio 2008項目結構,它包含幾個類庫,一個Web應用程序項目和一個最近添加的Web部署項目。我聽說過MVC設置的這個問題。另外,我見過的解決方案假定正在使用MVC。

我已驗證構建從IDE正確工作。我沒有更改Web部署項目的默認設置,除了它作爲單個程序集合並的結果生成的程序集的名稱之外。

我已經將解決​​方案設置爲只在解決方案構建爲「發佈」時才構建Web部署項目。我有一個自定義構建腳本來抓住這段代碼和一段代碼的開發分支。構建腳本正確地構建了此代碼的發行版本和開發分支的調試版本。

構建發行版本時出現問題。除了Web部署項目外,所有項目都可以成功構建。用下面的錯誤建設這個項目時TFS生成錯誤:

/xx.csproj/global.asax(1): error ASPPARSE: Could not load type 'xxx.xx.Global'. 

的xx.csproj是Web應用程序項目和「xxx.xx.Global」是隱藏類在Global.asax代碼。

從我的閱讀看來,TFS Build可能會有一些複製問題。我在這裏閱讀了關於MVC的幾個回覆。這不是MVC設置,但我認爲它有類似的問題。我不確定任何複製代碼應該在哪裏。我試過在TFSBuild.proj文件的AfterBuild目標中放置一些建議的代碼,但發現代碼沒有改變這個錯誤。

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.WebDeployment.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="BeforeMerge"> 
    </Target> 
    <Target Name="AfterMerge"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 

上面的代碼出現在註釋掉的項目文件中。我的想法是,'BeforeMerge'的目標會讓我複製那些需要的二進制文件。我不知道如何編寫任何腳本來做到這一點。我諮詢了幾本TFS書籍,但都沒有包含有關Web部署項目的信息。 (很讓我懊惱的是,我似乎也無法從微軟那裏找到關於這個問題的很多信息)。

看到我只看到引用MVC解決方案的解決方案,我應該說我已經研究過在AfterBuild目標中做什麼。上面的構建腳本直接來自我在TSBuild腳本中嘗試過的deploy_csproj。試圖在任一位置複製二進制文件有什麼不同?

任何人都可以解釋發生了什麼?我是否必須爲每個項目編寫單獨的構建腳本,以便將它們的二進制文件複製到正確的目錄以執行合併?

回答

相關問題