Msbuild编译网站而不将网站放在IIS中

时间:2011-02-18 16:38:25

标签: msbuild

我正在尝试创建一个msbuild脚本,该脚本将编译并将测试应用程序放入桌面上的文件夹中。我不希望这个应用程序发布到IIS。我跟着几个blgos看了看hashimi的书,但我还是想不通。下面是我的脚本。非常感谢你!

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Clean">
    <ItemGroup>
      <BinFiles Include="bin\*.*" />

    </ItemGroup>
    <Delete Files="@(BinFiles)" />
  </Target>
  <Target Name="Compile" DependsOnTargets="Clean">
  <MSBuild Projects="test.vbproj"/>
  </Target>
  <Target Name="Publish" DependsOnTargets="Compile">
  <RemoveDir Directories="$(OutputFolder)" 
  ContinueOnError="true"/>
  <MSBuild Projects="test.vbproj"
            targets="ResolveReferences;_CopyWebApplication"
            Properties="WebProjectOutputdir=$(OutputFolder; OutDir=$WebProjectOutputDir)\"/>
            </Target>
    </Target>
</Project>

1 个答案:

答案 0 :(得分:0)

您的脚本有点尴尬(您重新定义了干净的目标以执行与基本清理目标相同的操作)。

我很确定您的问题来自CopyWebApplication,它根据项目文件中设置的属性执行大量操作并通过命令行传递。

您可以尝试以下脚本:

<Project DefaultTargets="Compile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Compile">
    <MSBuild 
      Projects="test.vbproj"
      Targets="Clean;Build"
      Properties="OutputPath=C:\tmp"/>    
  </Target>
</Project>

如果您的测试项目是一个网站,那么构建目标应该在OutputPath / OutDir属性中指定的文件夹上创建它