Visual Studio 2008 Web部署项目团队构建ASPPARSE错误
我似乎有一个共同的问题;一个出现但没有明确解决方案的人。
我有一个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目标中做一些事情。上面的构建脚本直接来自deploy_csproj,我在TSBuild脚本中尝试过它。尝试在任一位置复制二进制文件有什么不同吗?
有谁可以解释发生了什么?我是否必须为每个项目编写单独的构建脚本,以便将它们的二进制文件复制到正确的目录以进行合并执行?
答案 0 :(得分:0)
我认为你碰到了一个已知的问题,其中心是TFS TeamBuild将编译输出重定向到一个文件夹(而不是每个项目下的bin \ Release)。
我想指出你在Aaron Hallberg博客上的这篇文章的方向,它解释了这个问题以及如何解决它:
http://blogs.msdn.com/aaronhallberg/archive/2007/07/02/team-build-and-web-deployment-projects.aspx