只是为了防止有一天有人产生同样的错误。
在 NLog.config 文件的起始部分,Visual Studio 告诉我(带有警告)它找不到 NLog.xsd 文件
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
这就是为什么我在编辑配置文件时无法使用智能感知的原因。 尽管 NLog 是随配置部分一起安装的,并且所有文件都存在于项目文件夹中,但错误仍然存在。为什么?
我通过从“http://www.nlog-project.org/schemas/NLog.xsd”下载模式解决了同样的问题,然后将其保存到我的项目目录并将其添加到项目中...
然后警告就消失了。
因此,将鼠标悬停在 NLog.config 文件中蓝色下划线的代码行上:
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
我意识到 Visual Studio 正在搜索我的项目文件夹上方的 file 2 文件夹。解决办法是我的项目文件夹的父文件夹名称中有一个“#”!从而明显阻止 VS 找到配置文件。 删除“#”后,警告消失,我可以再次使用智能感知。
这在视觉工作室对我有用。
您可以通过提供完整的 url 直接引用最新的架构:
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd http://www.nlog-project.org/schemas/NLog.xsd"
这适用于项目参考样式的项目。
但是它会让您面临自定义目标的另一个问题。 (NLog xsi:类型不适用于自定义目标)