Anu*_*dav 3 c# asp.net msbuild msdeploy visual-studio-2012
我正在将当前解决方案从 VS2010 迁移到 VS2012,因为不支持 Web 部署项目,我正在尝试在项目上使用“发布”功能。
我的要求是在运行构建时在项目上运行“发布”。这是一个“.csproj”,发布方法“文件系统”也在发布的设置选项卡上,我有“发布期间预编译”和“将所有输出合并到单个程序集”。
我可以通过右键单击项目并选择“发布”来手动运行发布,它提供所需的单个程序集并将其复制到正确的位置,我只需要它在构建时运行
我试过以下无济于事
将单行添加到 .csproj 文件
<DeployOnBuild>true</DeployOnBuild>
Run Code Online (Sandbox Code Playgroud)
尝试将以下行添加到 .csproj
<FilesToIncludeForPublish>OnlyFilesToRunTheApp</FilesToIncludeForPublish>
<DeployOnBuild>true</DeployOnBuild>
<DeployTarget>Package</DeployTarget>
<PackageAsSingleFile>true</PackageAsSingleFile>
Run Code Online (Sandbox Code Playgroud)
命令行
MSBuild C:\MyProj.csproj /p:DeployOnBuild=true /p:PublishProfile=WebDeploy /p:CreatePackageOnPublish=True /p:VisualStudioVersion=11.0
Run Code Online (Sandbox Code Playgroud)
以上命令导致
Build started 07/04/2014 14:01:05.
Project "C:\MyProj.csproj" on node 1 (default targets).
Build:
Running Publish
_DeploymentUnpublishable:
Skipping unpublishable project.
Done Building Project "C:\MyProj.csproj" (default targets).
Build succeeded.
Run Code Online (Sandbox Code Playgroud)
我很高兴你解决了你的问题,但我一直在用我自己的搜索结束这里,而且绝对不是 McAfee(或任何防病毒软件)阻碍了我。因此,对于最终来到这里的其他任何人,以下是最终对我有用的方法:
我意识到我在做/t:Publish而不是/t:Package在命令行上。绕过“跳过不可发布的项目”步骤的切换。
最终的命令行应该是这样的(为了可读性而格式化):
MSBuild C:\MyProj.csproj
/p:DeployOnBuild=true
/p:PublishProfile=WebDeploy
/p:CreatePackageOnPublish=True
/p:VisualStudioVersion=11.0
/p:OutputPath="bin\\"
/t:Package
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7345 次 |
| 最近记录: |