无法打开文件[TESTXML.xml]

问题描述:

我使用Visual Studio 2015年无法打开文件[TESTXML.xml]

目前我正在为log4cxx的包装,以使任何其他日志库,以后可以在线下使用。

我正在使用DOMConfigurator来解析XML配置文件。基本上我的功能包装DOMConfigurator::configure()

我将它传递一个字符串,这是我的配置文件的名称,在这种情况下,“TESTXML.xml”,然而,我收到我的控制台上的信息是:

log4cxx:莫非未打开文件[TESTXML.xml]。

我也试图传递一个字符串变量,但没有成功。

为什么我无法打开文件?我曾在“源文件”加入我的文件,并修改的属性:

  • 内容:是
  • 排除从生成:没有

也许,这MSVS2015设置我忘记配置?

+0

该文件是否放置在您的进程工作目录中?你有没有尝试一个完整的路径名? – user0042

+0

我尝试了一个完整的路径名,它导致了相同的错误。 – Doug

+2

您是否正确地使用完整路径名转义路径分隔符?你的例子是不够的。可以肯定的是,您的进程不会默认运行在放置源文件的同一目录(工作目录)中。请在您的问题中提供[MCVE]。 – user0042

也许有一个MSVS2015的设置我忘了配置?

不,它没有与该文件的配置(这应该从构建BTW除外)的事情。

根据您的问题中提供的信息,打开配置XML文件失败的最可能原因是它不在您的进程启动的同一目录中。因为它是由缺省(即$(ProjectDir)/<target>/Debug$(ProjectDir)/<target>/Release)创建

Visual Studio将运行在相同的目录中的可执行。

您可以修改项目属性调试设置中的进程工作目录,或打开cmd窗口,更改为所需的工作目录并手动启动可执行文件。

另一种方法是设置配置文件的完整路径文件名(例如"c:\user\xyz\MySolution\MyProject\TESTXML.xml")。请记住,对于C++字符串文字,除非使用原始字符串文字,否则您需要转义反斜杠字符(\ ==>\\)。