显然,DNN 安装不喜欢被预编译(他们将无法找到任何本地化的字符串)。我们的安装安全地放在 SVN 中,这意味着我不能只复制整个目录。要发布所有内容,我需要复制没有 SVN 文件和目录的整个网站目录。到目前为止,我一直在使用旧的 DOS 命令,这既费时又容易出错。
有人可以帮我做一个 MS-Built 脚本或步骤来做到这一点吗?或者我可以使用默认的 Visual Studio 2010 命令执行此操作吗?
注意:这是一个网站,而不是一个网络应用程序。
显然,DNN 安装不喜欢被预编译(他们将无法找到任何本地化的字符串)。我们的安装安全地放在 SVN 中,这意味着我不能只复制整个目录。要发布所有内容,我需要复制没有 SVN 文件和目录的整个网站目录。到目前为止,我一直在使用旧的 DOS 命令,这既费时又容易出错。
有人可以帮我做一个 MS-Built 脚本或步骤来做到这一点吗?或者我可以使用默认的 Visual Studio 2010 命令执行此操作吗?
注意:这是一个网站,而不是一个网络应用程序。
只是svn export
来自源代码控制的目录,它会给你一个干净的副本,里面没有.svn
东西。
Visual Studio
-> Solution Explorer
-> <web site>
-> <right click>
->Publish Web Site
或Copy Web Site
如果您对使用 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 目标中执行复制。