Я пытаюсь создать файл .bat
для публикации моего приложения, используя ClickOnce через командную строку.Я нашел этот отличный пост здесь, в StackOverflow, который предлагает создать новый <Target>
в файле .csproj
.Код из поста выглядит следующим образом (я удалил часть clean
):
<PropertyGroup>
<ProjLocation>D:\Test\Projects\ClickOncePublish\ClickOncePublish</ProjLocation>
<ProjLocationReleaseDir>$(ProjLocation)\bin\Debug</ProjLocationReleaseDir>
<ProjPublishLocation>$(ProjLocationReleaseDir)\app.publish</ProjPublishLocation>
<DeploymentFolder>D:\Test\Publish\</DeploymentFolder>
</PropertyGroup>
<Target Name="Test" DependsOnTargets="Clean">
<MSBuild Projects="$(ProjLocation)\$(ProjectName).csproj"
Properties="$(DefaultBuildProperties)"
Targets="Publish"/>
<ItemGroup>
<SetupFiles Include="$(ProjPublishLocation)\*.*"/>
<UpdateFiles Include="$(ProjPublishLocation)\Application Files\**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(SetupFiles)" DestinationFolder="$(DeploymentFolder)\" />
<Copy SourceFiles="@(UpdateFiles)" DestinationFolder="$(DeploymentFolder)\Application Files\%(RecursiveDir)"/>
</Target>
Проблема, с которой я столкнулся здесь, заключается в том, что я хотел бы, чтобы файл работал и для других.И использование жестко закодированного <ProjLocation>
делает этот вид хитрым.Есть ли способ сделать путь относительным или заставить его работать на других ПК?