0
我们有一个if语句来尝试确定特定文件夹的位置。根据我们是在本地运行(调试)还是在客户端机器上(发行版),我们会在不同的地方寻找它。通过Visual Studio Designer确定项目的解决方案文件位置
#if (DEBUG)
firefoxPath = @"..\..\..\Includes\XulRunner\";
#else
if (System.Diagnostics.Debugger.IsAttached) {
firefoxPath = @"..\..\..\Includes\XulRunner\";
}
else {
firefoxPath = Path.Combine(Application.StartupPath, @"XulRunner\");
}
#endif
然而,当我们试图运行引用这一个项目的设计,它是无法化解的路径,作为设计师的工作目录是: C:\ Program Files文件(x86)的\微软Visual Studio 12.0 \ Common7 \ IDE。如果文件夹路径不正确,项目将无法正确运行,并且设计器在尝试加载时会崩溃。
我们可以用它来确定我们是否正在通过设计师执行:
bool isInDesignMode = LicenseManager.UsageMode == LicenseUsageMode.Designtime || System.Diagnostics.Debugger.IsAttached == true;
我的问题是,我们如何确定的路径,通过设计师的解决方案,使我们能正确解析我们需要的文件夹的路径?
为什么不把这个值放在web.config中作为关键字,并使用transform在不同的环境中进行更改? – thsorens
我们无法知道项目文件的静态位置,因为这是由几个人开发的,每个人都可以通过各种途径获得解决方案 – user2312903