"Could not load System.XML Version 2.0.5.0" NLog 异常
"Could not load System.XML Version 2.0.5.0" exception with NLog
我遇到异常 "Could not load file or assembly 'System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified."
堆栈跟踪 "at NLog.Config.XmlLoggingConfiguration..ctor(String fileName, Boolean ignoreErrors, LogFactory logFactory) at NLog.LogFactory.LoadLoggingConfiguration(String configFile)"
。
我不确定的是,我在项目中引用了 System.XML,但没有找到?我有 removed/re-added 参考资料并通读了与此类似的其他问题,但似乎无法解决这个问题。 NLog 是否需要找到此引用,或者我可以检查依赖项列表以查看可能缺少的内容?
我正在使用:
System.XML4.0.0.0
NLog 4.0.0.0
.NET 4.6.1
出于某种原因,删除所有 NLog 引用并从 NuGet 中读取它是有效的,即使我昨天尝试过......无论哪种方式,我似乎已经超越了这一点。
我通过卸载解决方案中引用 NLog 的库项目解决了这个问题。我编辑了 csproj 文件并搜索了对 NLog 的引用。我在那里找到了所有这些:
<Content Include="packages\NLog.4.7.8\lib\monoandroid44\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\monoandroid44\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.3\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.3\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.5\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.5\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard2.0\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard2.0\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\sl4\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\sl4\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\sl5\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\sl5\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\wp8\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\wp8\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\xamarinios10\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\xamarinios10\NLog.xml" />
我看到其他开发者的一些帖子也有类似的问题,但许多人在他们的解决方案中使用了 Xamarin 项目。这让我觉得问题可能在于 xamarin 和 android 程序集包含的内容。我删除了除 .net 框架之外的所有内容,最后得到了这个列表:
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.xml" />
然后我重新加载了项目,清理了解决方案,然后重新构建它。
问题已解决!
我遇到异常 "Could not load file or assembly 'System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified."
堆栈跟踪 "at NLog.Config.XmlLoggingConfiguration..ctor(String fileName, Boolean ignoreErrors, LogFactory logFactory) at NLog.LogFactory.LoadLoggingConfiguration(String configFile)"
。
我不确定的是,我在项目中引用了 System.XML,但没有找到?我有 removed/re-added 参考资料并通读了与此类似的其他问题,但似乎无法解决这个问题。 NLog 是否需要找到此引用,或者我可以检查依赖项列表以查看可能缺少的内容?
我正在使用:
System.XML4.0.0.0
NLog 4.0.0.0
.NET 4.6.1
出于某种原因,删除所有 NLog 引用并从 NuGet 中读取它是有效的,即使我昨天尝试过......无论哪种方式,我似乎已经超越了这一点。
我通过卸载解决方案中引用 NLog 的库项目解决了这个问题。我编辑了 csproj 文件并搜索了对 NLog 的引用。我在那里找到了所有这些:
<Content Include="packages\NLog.4.7.8\lib\monoandroid44\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\monoandroid44\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.3\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.3\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.5\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard1.5\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\netstandard2.0\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\netstandard2.0\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\sl4\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\sl4\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\sl5\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\sl5\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\wp8\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\wp8\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\xamarinios10\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\xamarinios10\NLog.xml" />
我看到其他开发者的一些帖子也有类似的问题,但许多人在他们的解决方案中使用了 Xamarin 项目。这让我觉得问题可能在于 xamarin 和 android 程序集包含的内容。我删除了除 .net 框架之外的所有内容,最后得到了这个列表:
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net35\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net40-client\NLog.xml" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.dll" />
<Content Include="packages\NLog.4.7.8\lib\net45\NLog.xml" />
然后我重新加载了项目,清理了解决方案,然后重新构建它。
问题已解决!