2

我正在使用旧的 Visual Studio 2005 网站(不是 Web 应用程序项目)。当前的目标是复制我们的手动过程作为我们自动化构建的一部分。我目前无法选择升级项目、创建 Web 部署项目或将其更改为 Web 应用程序项目。

当前流程的最简单观点是,开发人员将在他的盒子上构建解决方案,将网站发布到他盒子上的某个位置,将其拉上拉链并将其交给发布团队。

我现在不打算更改此过程的输出,只是将其作为我们的 msbuild 脚本的一部分进行自动化。

到目前为止,我最接近的是使用 AspNetCompiler 任务,如下所示:

<AspNetCompiler
  PhysicalPath="website\"
  TargetPath="output\"
  VirtualPath="/"
  Force="true"
  Debug="true"
  />

但是,这会导致几个错误,例如error CS0246: The type or namespace name 'FOO' could not be found (are you missing a using directive or an assembly reference?)


编辑:

我之前应该提到过这一点,但是在具有重建目标的解决方案上运行 msbuild 会得到相同的结果。

4

3 回答 3

0

在我看来,该错误实际上与您的项目无法编译的事实有关,而不是您的 MSBuild 的问题。

要么,要么您使用的是较低版本的编译器(通常是在它开始播放明显存在的引用时)。

确保您使用的 MSBuild 版本与您在项目中使用的版本相匹配。

于 2011-09-16T23:48:35.217 回答
0

我曾经描述过如何在这种情况下使用aspnet_compiler 和 aspnet_merge 的组合。

于 2011-08-30T18:01:00.047 回答
0

我宁愿使用 MSBuild.exe 本身 - (1) 构建和发布并将发布目录设置为您的目标文件夹或 (2) 构建和 xcopy bin 文件夹、aspx/asmx/svc 文件和配置(假设您的网站配置为目标计算机上的 IIS)。

于 2011-08-30T17:01:42.930 回答