1

全部,

我目前的解决方案包括 2 个类库和一个使用 Msbuild 在 teamCity 内构建的网站。现在我想预编译网站并将其作为工件提供。但是,当我尝试使用预编译它时

<Target Name="PrecompileWeb" DependsOnTargets="Build">
    <AspNetCompiler
        PhysicalPath="$(BuildDir)\Location\" 
        TargetPath="$(BuildDir)\Publish"
        Force="true"
        Debug="true"

        />
  </Target>

我得到一个错误,因为它正在寻找一个虚拟路径(我没有想要做的所有它预编译我对发布站点不感兴趣的文件)如果我在其中放置一个虚拟路径我得到另一个错误(正确)关于它不是 IIS 下的应用程序

有任何想法吗

4

2 回答 2

2

这是一个网站还是 Web 应用程序项目?如果是后者,而不是执行 AspNetCompiler 任务,而是对 csproj/vbproj 文件执行 MSBuild 任务,调用目标Rebuild;ResolveReferences;_CopyWebApplication并指定OutDir属性。

如果您使用的是网站,则将 VirtualPath 指定为有效的 IIS 路径。发生的情况是,当您不指定 VirtualPath 属性时,它会尝试使用 PhysicalPath 和 IIS 来解决它。我相信这只是 AspNetCompiler 工作原理的产物。

于 2008-11-21T14:44:07.867 回答
0

我不确定这会起作用,因为这会在每个构建中发生?我只想在 TeamCity 服务器上运行构建而不是本地构建时执行此操作。

基本上我目前

构建所有必需的解决方案 执行单元测试 为工件创建 Zip 文件夹

干杯

于 2008-11-21T15:08:01.063 回答