我有一个包含一些类库,一个wep api项目和一个web项目的解决方案。我需要将我的api项目发布到web项目发布文件夹的子文件夹中。
我在tfs 2015上有一个构建定义,可以成功构建和发布我的Web项目和类库。现在我尝试将此构建定义扩展为发布api项目到web项目子文件夹。我尝试按照here的说法做一些事情;这是我创建的一些设置:
这是我的msbuild设置的publish.proj代码:
<PropertyGroup>
<VisualStudioVersion Condition=" '$(VisualStudioVersion)'=='' ">12.0</VisualStudioVersion>
<Configuration Condition=" '$(Configuration)'=='' ">Release</Configuration>
<!-- Location for build output of the project -->
<OutputRoot Condition=" '$(OutputRoot)'=='' ">$(MSBuildThisFileDirectory)..\BuildOutput\</OutputRoot>
<!-- Root for the publish output -->
<PublishFolder Condition=" '$(PublishFolder)'==''">$(MSBuildThisFileDirectory)..\..\Publish</PublishFolder>
<ItemGroup>
<ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\MyWeb\MyWeb.csproj">
<AdditionalProperties>
VisualStudioVersion=$(VisualStudioVersion);
Configuration=$(Configuration);
OutputPath=$(OutputRoot);
WebPublishMethod=FileSystem;
publishUrl=$(PublishFolder);
DeployOnBuild=true;
DeployTarget=WebPublish;
PublishProfile=$(MSBuildThisFileFullPath)
</AdditionalProperties>
</ProjectsToBuild>
<ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\MyWebApi\MyWebApi.csproj">
<AdditionalProperties>
VisualStudioVersion=$(VisualStudioVersion);
Configuration=$(Configuration);
OutputPath=$(OutputRoot);
WebPublishMethod=FileSystem;
publishUrl=$(PublishFolder)\api\;
DeployOnBuild=true;
DeployTarget=WebPublish;
PublishProfile=$(MSBuildThisFileFullPath)
</AdditionalProperties>
</ProjectsToBuild><ItemGroup>
在tfs上,我将Msbuild Arguments设置为:
“/ P:DeployOnBuild = TRUE; PublishSettingsFile =源/ MySolution / publish.proj “
但是当我执行我的构建定义时,我得到一个错误:
打包/发布任务 Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded失败了 加载Web部署程序集。 Microsoft Web Deploy不正确 安装在这台机器上。 Microsoft Web Deploy v3或更高版本是 推荐使用。
我确信我的构建服务器上安装了Microsoft Web Deploys更新版本。
UPDATE /修改
我要求ict团队(使用服务器的人)可以重新安装Web部署工具;并在重新安装后修复当前错误;但仍然没有发生任何事情。它不会给出任何错误,但不会发布任何web项目或api项目。
有人对此有所了解,我的错是什么?