Web部署项目团队构建错误

时间:2009-10-14 12:15:24

标签: visual-studio-2008 tfsbuild team-build web-deployment-project

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脚本中尝试过它。尝试在任一位置复制二进制文件有什么不同吗?

有谁可以解释发生了什么?我是否必须为每个项目编写单独的构建脚本,以便将它们的二进制文件复制到正确的目录以进行合并执行?

1 个答案:

答案 0 :(得分:0)

我认为你碰到了一个已知的问题,其中心是TFS TeamBuild将编译输出重定向到一个文件夹(而不是每个项目下的bin \ Release)。

我想指出你在Aaron Hallberg博客上的这篇文章的方向,它解释了这个问题以及如何解决它:

http://blogs.msdn.com/aaronhallberg/archive/2007/07/02/team-build-and-web-deployment-projects.aspx