【发布时间】:2023-03-20 23:08:01
【问题描述】:
我已经对此进行了几个小时的调查。我找到了许多链接,包括 SO 上的几个链接,它们声称显示了如何找到启动路径或应用程序目录。建议的所有解决方案都返回一个位置:
C:\Users\<my user name>\AppData\Local\Apps\2.0\XO8PWL8B.5HH\1GZX7M0H.N1J\<temp location>\
当我的 WPF xbap 从远程位置运行时。我需要确定远程位置的实际文件夹。
我正在将它部署到内部服务器 ABCDEF,所以为了运行这个应用程序,我正在输入:
\\ABCDEF\myApp.xbap
我想以编程方式确定服务器和文件夹。我这样做的原因是,每次发布 WPF 时都打开了“automatically increment revision with each publish”。附加 DLL 所在的文件夹更改,该程序依赖的附加程序。
我希望能够动态确定要查看的正确文件夹。
我试过了:
'Dim path As String = Reflection.Assembly.GetEntryAssembly().Location
'Dim Path As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
'System.IO.Path.GetDirectoryName(System.Reflection. Assembly.GetExecutingAssembly.Location)
'application.StartupPath
所有这些都不起作用。
这些链接建议了我尝试过的许多方法:
【问题讨论】:
-
只是好奇,这些 DLL 是您的应用程序所依赖的 .NET 程序集吗?如果是这样,您不必担心这一点,只要您在构建中包含程序集,清单就应该为您解决这个问题。项目属性 -> 发布 -> 应用程序文件 -> 确保您已将依赖程序集标记为与您的应用程序一起部署。
-
你不会这么想,但是,我的前任有一个网页设计,专门告诉应用程序一切在哪里。我现在正在将其转换为 WPF,我相信如果我能确定 DLL 的位置会简单得多。 DLL 来自我的主要应用程序所依赖的 30 个项目。
标签: wpf vb.net clickonce startup