0
由于我有多个配置,因此需要使用MSBuild在解决方案级别构建。我在发布输出的web项目中有一个自定义目标。我可以指定Web项目作为目标,并且它可以很好地工作。但我需要发布Web应用程序。在解决方案级别构建时有没有办法构建项目的自定义目标?MSBuild:在指定解决方案时构建自定义项目目标
我发现这个link,但我不明白解决方案。如果有人能够稍微打破这一点,这将有很大帮助。
这是我目前的PowerShell命令行的样子:
& "$env:windir\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" `
"..\..\Solution.sln" `
"/t:WebApplication:PublishToFileSystem" `
"/p:Configuration=$configuration;PublishDestination=$publishPath"
的:PublishToFileSystem
导致它失败,此消息:
error MSB4057: The target "PublishToFileSystem" does not exist in the project. [C:\Source\Solution.sln]
这是我自定义的目标在我的。 csproj文件看起来像:
<Target Name="PublishToFileSystem" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
<Error Condition="'$(PublishDestination)'==''" Text="The PublishDestination property must be set to the intended publishing destination." />
<MakeDir Condition="!Exists($(PublishDestination))" Directories="$(PublishDestination)" />
<ItemGroup>
<PublishFiles Include="$(_PackageTempDir)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(PublishFiles)" DestinationFiles="@(PublishFiles->'$(PublishDestination)\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="True" />
</Target>