我想从特定的路径位置读取文件。该位置在localserver和在线服务器上具有不同的磁盘字母和目录结构。
所以我想默认设置filepath来满足我的在线服务器磁盘,当我调试应用程序以使用本地文件路径时。
我试过这个
private const string _configurationFilePath = @"E:\web\mysite\";
#if DEBUG
enter code here
_configurationFilePath = @"D:\mywebprj\mysite\";
#endif
我收到的错误消息已包含_configurationPath
的定义如果不使用配置文件和其他手动输入的解决方案,有没有更好的方法呢?
感谢
答案 0 :(得分:2)
您使用private const string
因此无法修改。写下这样的代码:
#if !DEBUG
private const string _configurationFilePath = @"E:\web\mysite\";
#endif
#if DEBUG
enter code here
private const string _configurationFilePath = @"D:\mywebprj\mysite\";
#endif
BTW更好的想法是将此路径存储在配置中而不是对其进行编码。
答案 1 :(得分:2)
一个更好的解决方案。您可以在项目文件的afterbuild部分中使用copy msbuild任务。
您可以使用命名法app。$(configuration).config根据解决方案配置名称创建多个app.config。示例:app.Debug.config。 app.Release.config等。
然后使用msbuild复制任务将一个应用程序配置文件复制到$(OutDir)作为MyProject.exe.config。
答案 2 :(得分:1)
使用#if DEBUG #else #endif
#if DEBUG
private const string a = @"d:\";
#else
private const string a = @"e:\";
#endif