【发布时间】:2013-04-21 05:24:34
【问题描述】:
我有一个用 VS2010 创建的 c# .Net 4.0 项目,现在可以用 VS2012 访问。
我正在尝试仅将所需文件从该网站发布到目标位置(C:\builds\MyProject[Files])
我的文件结构: ./ProjectRoot/MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
我正在通过 MSBuild 运行以下命令:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ./ProjectRoot/MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
这是 FileSystemDebug.pubxml 中的 xml
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\builds\MyProject\</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
产生的行为是:
- 在此处创建一个 zip 文件:./ProjectRoot/obj/Debug/Package/MyProject.zip
- 没有部署到
<publishUrl>C:\builds\MyProject\</publishUrl>WTF - 创建的 zip 文件是猪的早餐,其中包含应用程序不需要的文件。
当我通过 Visual Studio 运行此发布配置文件时,会在 *C:\builds\MyProject* 处创建一个文件夹,其中包含我想要的确切工件。
如何从 msbuild 获得这个简单的结果?
【问题讨论】:
标签: c# visual-studio msbuild publish