2

我正在使用 ClickOnce 部署应用程序,问题是配置文件 (xxx.exe.config) 没有嵌入到包中,并且没有包含它的选项。配置的另一个问题是,当我尝试手动将其写入部署它的目录(Environment.CurrentDirectory)时,我遇到了一个异常 - 我没有权限这样做。

关于如何与配置文件一起部署应用程序的任何想法?(并使其可写,因为 ti 运行时期间的应用程序会更改配置值。)

提前致谢

4

3 回答 3

6

您还可以更改要包含在 ClickOnce deploy: 中的文件的构建操作Properties for a file → Build Action → set to "Content",这会将文件添加到项目选项列表Application files中。Publish

如果您需要从引用的项目中发布文件,我没有找到比 to 更好的解决方案Add → Existing Item → On "Add" button, select "Add as Link",然后将操作设置为Content并检查已发布文件的列表。

于 2014-08-21T11:54:48.843 回答
2

配置文件应该会自动发布;如果没有,请确保将其配置为复制到输出,并且(如果失败)检查发布文件(项目属性 -> 发布 -> 应用程序文件;配置文件应标记为“包含(自动)”或“包含”)。

您不应尝试更新应用安装目录中的任何内容。这通常是一个坏主意(因为除非您是管理员,否则您不能假设您可以更新“程序文件”),但 ClickOnce 也是如此。

只需创建一个包含一些用户设置的设置文件;这些将保存在用户的配置文件中,因此可以可靠地更新。您无法编辑通过 ClickOnce 部署的文件;即使您有权访问,它也会(默认情况下)破坏散列函数,并且它会拒绝加载它们。您可以关闭散列,但是......这仍然不是一个好主意。

于 2009-10-11T19:22:01.550 回答
1

当您单击项目的属性并转到项目属性的发布选项卡时,单击应用程序文件...,然后选中“显示所有文件”复选框。您应该会看到一个选项,可以从那里选择您的应用程序配置文件。

以我的经验, <*>.exe.config 文件通常设置为自动包含。

于 2009-10-11T18:39:44.210 回答