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 设置,但我相信这是一个类似的问题。我不确定任何复制代码应该去哪里。我尝试在我的 AfterBuild 目标中的 TFSBuild.proj 文件中放置一些建议的代码,但发现代码并没有改变这个错误。
<!-- 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。尝试在任一位置复制二进制文件有区别吗?
谁能解释发生了什么?我是否必须为每个项目编写单独的构建脚本,以便他们将二进制文件复制到正确的目录以进行合并执行?