我正在寻找一个在MSBuild.exe
上运行的命令,它只接受一个MVC4项目并将其发布到给定的目录。
例如,
MSBuild <solution>/<project>.csproj -publish -output=c:/folder
这显然是不正确的语法。我在试着简化我的问题。
This question谈到了构建可扩展标记语言,但我不打算做太多细节的事情。
我只是想做一个部署。
再往下走,在that question,有人提到了"MSDeploy“。我可以调查一下,但这是唯一的选择吗?我无法在服务器上安装web deploy。在这种情况下,我真正需要做的就是“发布”,并将已发布项目的内容发送到服务器/文件系统上的给定目录。
有没有我可以用的one眼线?
我必须使用MSDeploy吗?
MSDeploy是否需要在服务器上安装web deploy?
在服务器上设置web deploy不需要设置一些端口、权限和安装一些IIS附加组件吗?
我喜欢执行一些简单的东西。
发布于 2012-12-19 15:44:03
在VS2012(以及VS2010的Azure SDK中提供的发布更新)中,我们简化了web项目的命令行发布。我们已经通过使用发布配置文件做到了这一点。
在用于web项目的VS中,您可以使用发布对话框创建发布配置文件。当您创建该配置文件时,它会自动存储在您的项目中的Properties\PublishProfiles下。您可以使用创建的配置文件从命令行通过命令行发布以下内容。
msbuild mysln.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
如果您想在其他位置存储发布配置文件(.pubxml文件),您可以传入PublishProfile的路径。
发布配置文件是MSBuild文件。如果需要自定义发布过程,可以直接在.pubxml文件中执行此操作。
如果您的最终目标是从命令行传递属性。我会推荐以下几点。在VS中创建示例发布配置文件。检查发布配置文件,以确定需要在命令行上传递哪些MSBuild属性。仅供参考,并非所有发布方法都支持命令行发布(如FTP/FPSE)。
仅供参考,如果您正在构建.csproj/.vbproj而不是.sln,并且您正在使用VS 2012,那么您也应该传入/p:VisualStudioVersion=11.0
。有关原因的更多细节,请参阅http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx。
发布于 2012-12-18 22:00:08
创建如下所示的build.xml文件
启动Visual Studio命令提示符
运行msbuild build.xml
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Build">
<PropertyGroup>
<Build>$(MSBuildProjectDirectory)\Build</Build>
<ProjectFile>MyProject.csproj</ProjectFile>
<ProjectName>MyProjectNameInVisualStudio</ProjectName>
<CopyTo>$(MSBuildProjectDirectory)\CopyTo</CopyTo>
</PropertyGroup>
<Target Name="Build">
<RemoveDir Directories="$(Build)"/>
<MSBuild Projects="$(ProjectFile)" Properties="Configuration=Release;OutputPath=$(Build);OutDir=$(Build)/"></MSBuild>
<Exec Command="robocopy.exe $(Build)\_PublishedWebsites\$(ProjectName) $(CopyTo) /e /is
if %errorlevel% leq 4 exit 0 else exit %errorlevel%"/>
</Target>
</Project>
发布于 2015-05-26 01:51:01
下面的命令可以完美地工作:
msbuild Myproject.sln /t:Rebuild /p:outdir="c:\outproject\\" /p:Configuration=Release /p:Platform="Any CPU"
https://stackoverflow.com/questions/13920146
复制相似问题