Anu*_*dav 5 c# msbuild build-process visual-studio-2012
我在使用 VS2012 的 csproj 文件上有以下目标,一旦构建完成,我想在项目上运行“发布”。
这给了我以下错误“错误 MSB4006:在涉及目标“AfterBuild”的目标依赖图中存在循环依赖”
<Target Name="AfterBuild">
<Message Text="Running Publish..." Importance="high"/>
<MSBuild Projects="$(ProjectPath)" Properties="DeployOnBuild=true;PublishProfile=WebDeploy;CreatePackageOnPublish=True;VisualStudioVersion=11.0"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
我曾尝试用替换 MSBuild 步骤
<Exec Command="$(MSBuildBinPath)\MSBuild C:\MyProj.csproj /p:DeployOnBuild=true /p:PublishProfile=WebDeploy /p:CreatePackageOnPublish=True /p:VisualStudioVersion=11.0" ContinueOnError="false" />
Run Code Online (Sandbox Code Playgroud)
执行上述操作会导致一遍又一遍地运行构建/发布。
我试过命名不同的目标,通过另一个目标调用它无济于事。
如何在不进入重复循环的情况下在项目上运行“发布”?这可以用另一种方式完成吗?
如果您只在 Visual Studio 中构建,那么将类似的内容放入您的 csproj 文件(最后)将起作用:
<Target Name="Deploy" AfterTargets="Build">
<MSBuild
Projects="$(ProjectPath)"
Targets="WebPublish"
Properties="PublishProfile=LocalDeploy"
/>
</Target>
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用 MSBuild 进行构建,这将导致循环依赖。我还没有找到一个解决方案,允许您在 Visual Studio 和 MSBuild 中发布构建版本。
| 归档时间: |
|
| 查看次数: |
8961 次 |
| 最近记录: |