我的 clickonce 应用程序有一个 .ini 文件(来自 3 方 dll 的配置),必须包含在应用程序根目录中。我将文件添加为链接并标记为“内容”和“如果更新则复制”。问题是每次我部署更新时,单击一次再次下载文件会覆盖所有更改。
为什么clickonce不尊重“ copy if newer
”?
我的 clickonce 应用程序有一个 .ini 文件(来自 3 方 dll 的配置),必须包含在应用程序根目录中。我将文件添加为链接并标记为“内容”和“如果更新则复制”。问题是每次我部署更新时,单击一次再次下载文件会覆盖所有更改。
为什么clickonce不尊重“ copy if newer
”?
为什么clickonce不尊重“如果更新则复制”?
因为编译器在复制到 bin(或二进制文件编译到的任何位置)时会使用它。此设置与 clickonce 无关。
我建议将您的 INI 重命名为“base.ini”或类似名称。当您的应用程序启动时,当且仅当它不存在时,将其复制到具有新名称的新文件中。像这样的东西:
if (!File.Exists("yourinifile.ini"))
{
File.Copy("base.ini", "yourinifile.ini");
}
编辑:
您可以在 ClickOnce 清单中将文件标记为数据文件。去做这个,