在我们的解决方案中,我们有几个项目:类库、控制台应用程序和ASP.NET MVC上的webbaps。我想将控制台和web应用程序发布到目录中。对于控制台应用程序来说,msbuild就像一种魅力。最糟糕的部分是ASP.NET MVC应用程序。输出目录上只有dll。我尝试使用PublishProfile属性进行构建和部署,但没有帮助。有趣的是,当我在VS上发布这个配置文件时,一切都很好。
我想,我什么都试过了,但都没用。例如:
"C:WindowsMicrosoft.NETFramework64v4.0.30319MSBuild.exe" C:testTestSol.sln /t:AppsWebapp /p:DeployOnBuild=true /p:PublishProfile="PropertiesPublishProfilesDirectory.pubxml" /p:VisualStudioVersion=14.0
我的个人资料:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>....deploy</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
我读了一些关于msdeploy的文章,但它似乎不是我的解决方案。
如何从控制台发布ASP.NET MVC应用程序,就像在VS中一样?
请尝试使用C:Program Files (x86)MSBuild14.0BinMSBuild.exe
。这是包含所有vs环境变量的官方版本。
但是,C:WindowsMicrosoft.NETFramework64v4.0.30319MSBuild.exe
来自framework sdk,只能做一些简单的构建操作,不能处理大型和复杂的构建。
所以你应该使用:
C:Program Files (x86)MSBuild14.0BinMSBuild.exe