问题:Clickonce将项目的子文件夹放在Visual Studio中使用时与其作为Clickonce应用程序安装时位于不同的位置。
在Visual Studio 中,它们位于:
Directory.GetParent(Environment.CurrentDirectory).Parent
安装时 时,它们位于:
Environment.CurrentDirectory
虽然我可以检查Clickonce的安装情况(如my question here的答案所示,“因为不是真正的问题而关闭”......)我担心这可能会在某些时候破裂 - 除非我完全理解为什么会发生这种情况。
那么在Visual Studio中运行时以及作为Clickonce安装时,获取文件夹路径的正确方式是什么?
答案 0 :(得分:0)
如果我正确理解了您的问题,请尝试使用Application.StartupPath
和ApplicationDeployment.CurrentDeployment.DataDirectory
,如下所示:
string startupPath = ApplicationDeployment.IsNetworkDeployed
? ApplicationDeployment.CurrentDeployment.DataDirectory :
: Application.StartupPath;
或只是Application.StartupPath
。
或只是ApplicationDeployment.CurrentDeployment.DataDirectory
。
这取决于“Clickonce放置项目的子文件夹”的含义