如果DEBUG文件路径为DEBUG和prod. mode

本文关键字:DEBUG prod mode 路径 文件 如果 | 更新日期: 2023-09-27 18:08:55

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

所以我想在默认情况下设置filepath以满足我的在线服务器磁盘,当我调试应用程序时使用本地filepath。

我试过了

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

我得到的错误信息已经包含_configurationPath的定义

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

谢谢

如果DEBUG文件路径为DEBUG和prod. mode

您使用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

顺便说一句,更好的方法是将该路径存储在配置中,而不是硬编码。

一个更好的解决方案。您可以在项目文件的后构建部分使用复制msbuild任务。

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

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

使用#if DEBUG #else #endif

#if DEBUG
    private const string a = @"d:'";
#else
    private const string a = @"e:'";
#endif