0

我想从特定路径位置读取文件。该位置在本地服务器和在线服务器上具有不同的磁盘号和目录结构。

所以我希望默认设置文件路径以满足我的在线服务器磁盘以及当我调试应用程序以使用本地文件路径时。

我试过这个

private const string _configurationFilePath = @"E:\web\mysite\";   
#if DEBUG
enter code here
_configurationFilePath = @"D:\mywebprj\mysite\";
#endif

我收到错误消息已经包含 _configurationPath 的定义

在不使用配置文件和其他手动输入的解决方案的情况下,有没有更好的方法?

谢谢

4

3 回答 3

2

You use private const string so it cannot be modified. Write you code like this:

#if !DEBUG
    private const string _configurationFilePath = @"E:\web\mysite\";   
#endif
#if DEBUG
enter code here
    private const string _configurationFilePath = @"D:\mywebprj\mysite\";
#endif

BTW much better idea is to store this path in configuration instead of harcoding it.

于 2013-04-13T18:11:11.337 回答
2

一种更好的解决方案。您可以在项目文件的 afterbuild 部分中使用复制 msbuild 任务。

您可以使用命名法 app.$(configuration).config 根据解决方案配置名称创建多个 app.config。示例:app.Debug.config。app.Release.config 等

然后使用 msbuild 复制任务将只有一个应用程序配置文件复制到 $(OutDir) 作为 MyProject.exe.config。

于 2013-04-13T18:41:22.203 回答
1

利用#if DEBUG #else #endif

#if DEBUG
    private const string a = @"d:\";
#else
    private const string a = @"e:\";
#endif
于 2013-04-13T18:12:09.280 回答