2008-11-21 51 views
1

所有,问题会自动预编译的网站的MSBuild

目前,我有我的解决方案,包括2个图书馆的使用的MSBuild内的TeamCity一个网站的建设。现在我想预编译网站并将其作为工件提供。然而,当我尝试使用

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

     /> 
    </Target> 

我得到becasue它正在寻找一个虚拟路径(这我没有,因为所有我想要做预编译文件的错误预编译它,我不感兴趣,出版该网站),如果我把一个虚拟的路径在我得到另一个错误(正确),它不是IIS

任何想法

回答

2

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

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

+0

@Cory - 所以有OUTDIR的_CopyWebApplication目标是什么预编译?此外,要做到这一点,目标需要是所有这些重建; ResolveReferences; _CopyWebApplication或失败?谢谢。 – nickytonline 2009-11-21 03:19:45

0

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

基本上我目前

建设所需的全部解决方案 执行单元测试 的神器创建Zip文件夹

干杯