Asp.net 如何在不编译和不复制SVN文件的情况下发布完整的网站

Asp.net 如何在不编译和不复制SVN文件的情况下发布完整的网站,asp.net,visual-studio-2010,msbuild,publishing,web-site-project,Asp.net,Visual Studio 2010,Msbuild,Publishing,Web Site Project,显然,DNN安装不喜欢预编译(他们将无法找到任何本地化字符串)。我们的安装安全地放在SVN中,这意味着我不能只复制整个目录。要发布所有内容,我需要复制整个网站目录,而不复制SVN文件和目录。到目前为止,我一直在处理好的老DOS命令,这既耗时又容易出错 有人能帮我一个MS构建的脚本或步骤来做到这一点吗?或者可以使用默认的VisualStudio2010命令执行此操作 注意:这是一个网站,不是一个web应用程序。只是svn导出源代码管理中的目录,它将为您提供一个干净的副本,其中没有.svn内容 vi

显然,DNN安装不喜欢预编译(他们将无法找到任何本地化字符串)。我们的安装安全地放在SVN中,这意味着我不能只复制整个目录。要发布所有内容,我需要复制整个网站目录,而不复制SVN文件和目录。到目前为止,我一直在处理好的老DOS命令,这既耗时又容易出错

有人能帮我一个MS构建的脚本或步骤来做到这一点吗?或者可以使用默认的VisualStudio2010命令执行此操作


注意:这是一个网站,不是一个web应用程序。

只是
svn导出源代码管理中的目录,它将为您提供一个干净的副本,其中没有
.svn
内容

visualstudio
->
解决方案资源管理器
->
->
发布网站
复制网站

如果您对使用MSBuild实现自动化感兴趣,那么您可以使用以下方法实现自动化

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>
    <FilesToCopy Include="**\*"
                 Exclude="**\.svn\**"/>
  </ItemGroup>

  <PropertyGroup>
    <Dest>C:\temp\dest\</Dest>
  </PropertyGroup>

  <Target Name="CopyFiles">
    <Message Text="FilesToCopy: @(FilesToCopy)"/>
    <MakeDir Directories="$(Dest)"/>
    <Copy SourceFiles="@(FilesToCopy)"
          DestinationFiles="@(FilesToCopy->'$(Dest)%(RecursiveDir)%(Filename)%(Extension)')"/>
  </Target>

</Project>

C:\temp\dest\

因此,当我创建
FilesToCopy
项时,我排除了任何.svn文件夹下的所有文件。然后我就在CopyFiles目标内执行复制。

太好了!现在我觉得自己很傻。回想起来,我想我知道这个选择,但完全忘记了。正是我需要的。