我正在尝试从命令行执行发布配置文件。
现在我想从TFS做这个,这意味着MSBuild。
在命令行中,我尝试了这个:
msbuild.exe WebApplication1.csproj /p:DeployOnBuild=true;PublishProfile="ftp";Password={INSERT-PASSWORD}
我没有收到任何错误。并且文件不会在FTP站点上发布。发布配置文件的名称是ftp.pubxml。它实际上在这里:
WebApplication1\Properties\PublishProfiles\ftp.pubxml
默认情况下,Visual Studio 2012就是这样。
我正在使用FTP部署,而不是Web部署。没有点击一次。网上有很多关于这两者的内容。这是一个无聊的旧FTP部署。
答案 0 :(得分:5)
我刚刚在http://sedodream.com/2013/01/06/CommandLineWebProjectPublishing.aspx发布了一个博客,希望能为您解决这个问题。
命令行不支持FTP发布。你会收到一个错误让你知道这一点,但你的命令行缺少一个非常重要的属性
/p:VisualStudioVersion=11.0
我在http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx更详细地发布了有关此媒体资源的博文。总而言之,引入了VisualStudioVersion
属性以允许VS 2010和VS 2012共享项目文件和解决方案。如果您没有为此属性指定值,则默认值为10.0。
在您的情况下,由于您正在构建项目,因此您需要指定此属性。由于您未指定该值,因此默认为10.0,并且使用的构建+发布过程来自VS 2010.显然,您的计算机上已安装VS2010 + VS2012。
如果你传递了属性/p:VisualStudioVersion=11.0,你会收到的错误会让你知道命令行不支持FTP发布。
注意:如果您确实希望我们支持FTP命令行发布,最好的办法是在aspnet.uservoice.com打开建议。