c# - 可以在 Visual Studio 2013 中将 ClickOnce 的发布选项设为特定配置

标签 c# visual-studio clickonce

我有一个 C# 应用程序,其中针对应用程序的不同“风格”提供了一些不同的构建配置。我希望每个配置都有 ClickOnce 发布选项,而不是每次执行构建和发布时都必须设置它们。发布选项似乎适用于所有配置。有没有办法使发布选项特定于每个配置?

最佳答案

您不能直接在 Visual Studio 中针对每个配置使它们不同。您需要编辑 .csproj文件并对需要不同的内容进行以下更改。

例如第一个<PropertyGroup>元素包含 <PublishUrl>元素。您可以应用条件并多次添加元素:

<PublishUrl Condition=" '$(Configuration)' == 'Debug' ">debug\</PublishUrl>
<PublishUrl Condition=" '$(Configuration)' == 'Release' ">release\</PublishUrl>

当使用 Debug 发布项目时配置,它将被发布到调试目录。 使用 Release 发布项目时配置,它将发布到 release 目录。

将此条件应用于您需要修改的元素。遗憾的是,您可以将条件应用于整个 PropertyGroup ,但这要复杂得多,因为如果您对其中任何一个进行更改,则需要复制并跟踪这两个组。

但是:

每次您从 Visual Studio 中保存项目时,这都会被覆盖。 因此,您可以制作一个 xslt 文件,在发布之前转换文件,或者直接创建您自己的发布应用程序,仅在发布时填充所有必需的发布参数,例如来自构建服务器。

关于c# - 可以在 Visual Studio 2013 中将 ClickOnce 的发布选项设为特定配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894483/

相关文章:

c# - Rally SOAP API - 导入 .net 项目后缺少 RallyServiceService 类

c# - 如何在 asp.net 中使用 chekboxchanged 之前的确认?

javascript - 如何在 javascript 的 FormData 中追加对象?

.net-4.0 - ClickOnce list

c# - 无法从其他表单访问复选框

visual-studio - 用于构建 Visual Studio 项目的 PowerShell 脚本

c++ - 为什么 c++ regex_match 函数需要在函数外部定义搜索字符串?

c# - 无法仅在 'Install' 上验证 WiX 条件

c# - 如何使用 ConfigurationManager 通过 ClickOnce 更新来持久化 app.config?

c# - 使用 ClickOnce 安装我的应用程序 - 缺少 dll 消息(尽管未请求)