ClickOnce

时间:2016-09-20 21:22:30

标签: c# .net winforms clickonce publish

在C#中使用ClickOnce发布后,我对如何找到文件夹目录感到困惑:'应用程序文件'。我想这样做的原因是我想把一些文件放到这个文件夹中,让C#在用户安装我的应用程序后读取它们。

我尝试过:System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), 但我总是喜欢:C:\Users\AppData\Local\Apps\2.0\4DAZ7HKJ.7TP\OZ02N2HD.7PG\cons..tion_a9321ce7eb14b63e_0001.0000_7ed45506b35ff771,我不想要。由于我的发布文件夹位于D:\,我想要的是:D:\Application Files

提前感谢所有阅读我问题的人!

publish folder after clickOnce publish

2 个答案:

答案 0 :(得分:4)

要将文件包含在发布中,您不需要手动将其包含在文件夹中,而应将文件添加到项目中并将其Build Action设置为Content。要确保该文件包含在发布中,请转到Project → Properties → Publish Tab → Application Files Button并查看您文件的Publish Status是否为Include (Auto)

部署应用程序后,这些文件将部署在应用程序可执行文件附近。例如,如果您包含image.png,那么您可以通过以下方式找到它:

var path = System.IO.Path.Combine(Application.StartupPath, "image.png");

此外,如果您因任何原因寻找发布文件夹,则可以在项目文件的Project → Properties → Publish → Publish Location<PublishUrl>标记中看到用于发布的路径。

无论您发布文件的位置如何,都会在\bin\debug文件夹下项目的app.publish文件夹中找到它们的副本。

答案 1 :(得分:1)

在您不希望使用的路径下,您将找到一个可执行的文件,该文件能够遵守您期望使用的文件 System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)