ClickOnce 目标设置
ClickOnce Target settings
我正在尝试创建一个 .bat
文件以通过命令行使用 ClickOnce 发布我的应用程序。我在 Whosebug 上找到了 ,它建议在 .csproj
文件中创建一个新的 <Target>
。 post 中的代码如下所示(我删除了 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>
会使这种情况变得棘手。有什么方法可以使路径相对,或者以其他方式使其在其他 PC 上工作?
您可以在此处找到所有可用的 msbuild 常量Common Macros for Build Commands and Properties
它们都在您的部署环境中。您的 ProjLocation 常量看起来像 $(ProjectDir).
无论如何,如果你需要跳出当前目录,你可以使用这样的相对路径:
$(ProjectDir)\..\..\Level2UpperSubFolder
我正在尝试创建一个 .bat
文件以通过命令行使用 ClickOnce 发布我的应用程序。我在 Whosebug 上找到了 .csproj
文件中创建一个新的 <Target>
。 post 中的代码如下所示(我删除了 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>
会使这种情况变得棘手。有什么方法可以使路径相对,或者以其他方式使其在其他 PC 上工作?
您可以在此处找到所有可用的 msbuild 常量Common Macros for Build Commands and Properties
它们都在您的部署环境中。您的 ProjLocation 常量看起来像 $(ProjectDir).
无论如何,如果你需要跳出当前目录,你可以使用这样的相对路径:
$(ProjectDir)\..\..\Level2UpperSubFolder