我正在尝试将OutputPath值设置为绝对路径:
<OutputPath>c:\Projects\xxx\Deployment</OutputPath>
但是我收到了这个错误:
Error 17 The expression "[System.IO.Path]::GetFullPath(D:\Projects\xxx\trunk\xxx.Web.Deployment\c:\Projects\xxx\Deployment\)" cannot be evaluated. The given path's format is not supported. 1 1 xxx.Web.Deployment
有没有办法在OutputPath属性中使用绝对路径?我尝试过试验BaseOutputPath属性:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Deployment|AnyCPU'">
<BaseOutputPath>C:\Projects\xxx\</BaseOutputPath>
<OutputPath>.\Deployment</OutputPath>
<EnableUpdateable>true</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>xxx.Web.Deployment</SingleAssemblyName>
但它似乎被忽略了。什么是BaseOutputPath和BaseIntermediateOutputPath用于?
答案 0 :(得分:5)
我不确定你是否可以做你正在谈论的事情,但你可以添加类似于以下内容:
<PropertyGroup>
<CentralisedBinariesFolderLocation>c:\wherever</CentralisedBinariesFolderLocation>
</PropertyGroup>
<Target Name="AfterBuild">
<Exec Command="xcopy /Y /S /F /R "$(TargetPath)" "$(CentralisedBinariesFolderLocation)"" />
</Target>
在构建之后,它会将其复制到相关位置。
答案 1 :(得分:3)
尝试使用OutDir
代替OutputPath
:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Deployment|AnyCPU'">
<OutDir>C:\Projects\xxx\$(Configuration)</OutDir>
<EnableUpdateable>true</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>xxx.Web.Deployment</SingleAssemblyName>
</PropertyGroup>
答案 2 :(得分:0)
答案 3 :(得分:0)
不是仅仅使用与WebPublishPipelineProjectDirectory
相同的路径定义OutputPath
,而不是10月份答案中的所有步骤?
我在我的CI解决方案中尝试过(使用CruiseControl
),它似乎有效。
有没有人知道这样做会产生哪些副作用?