2

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

有人可以帮我做一个 MS-Built 脚本或步骤来做到这一点吗?或者我可以使用默认的 Visual Studio 2010 命令执行此操作吗?

注意:这是一个网站,而不是一个网络应用程序

4

3 回答 3

2

只是svn export来自源代码控制的目录,它会给你一个干净的副本,里面没有.svn东西。

于 2010-08-17T07:05:01.730 回答
1

Visual Studio-> Solution Explorer-> <web site>-> <right click>->Publish Web SiteCopy Web Site

于 2010-08-17T07:15:57.483 回答
1

如果您对使用 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>

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

于 2010-09-01T03:55:32.410 回答