在ClickOnce中动态获取项目文件夹的路径

时间:2014-02-24 16:51:38

标签: c# .net winforms visual-studio-2010 clickonce

问题:Clickonce将项目的子文件夹放在Visual Studio中使用时与其作为Clickonce应用程序安装时位于不同的位置。

在Visual Studio 中,它们位于:

Directory.GetParent(Environment.CurrentDirectory).Parent

安装时 时,它们位于:

Environment.CurrentDirectory

虽然我可以检查Clickonce的安装情况(如my question here的答案所示,“因为不是真正的问题而关闭”......)我担心这可能会在某些时候破裂 - 除非我完全理解为什么会发生这种情况。

那么在Visual Studio中运行时以及作为Clickonce安装时,获取文件夹路径的正确方式是什么?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,请尝试使用Application.StartupPathApplicationDeployment.CurrentDeployment.DataDirectory,如下所示:

string startupPath = ApplicationDeployment.IsNetworkDeployed
    ? ApplicationDeployment.CurrentDeployment.DataDirectory :
    : Application.StartupPath;

或只是Application.StartupPath

或只是ApplicationDeployment.CurrentDeployment.DataDirectory

这取决于“Clickonce放置项目的子文件夹”的含义