在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
。
提前感谢所有阅读我问题的人!
答案 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)