ClickOnce发布后找到“应用程序文件”目录

Bin*_*Han 2 .net c# clickonce publish winforms

在C#中使用ClickOnce发布后,我对如何查找文件夹目录'Application Files'感到非常困惑。我要执行此操作的原因是,我想在用户安装我的应用程序后将一些文件放入此文件夹中,并让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

在此先感谢阅读我的问题的任何人!

单击一次后发布文件夹

Rez*_*aei 5

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

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

var path = System.IO.Path.Combine(Application.StartupPath, "image.png");
Run Code Online (Sandbox Code Playgroud)

此外,如果出于任何原因正在寻找发布文件夹,您都可以在项目文件中的Project ? Properties ? Publish ? Publish Location或中看到用于发布的路径<PublishUrl>

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