程序集未加载 C#

2024-03-09

我有一个项目Common其中包含一个 log4net CustomAppender。我在所有其他项目中引用该项目并在中配置 log4net 附加程序app.config。一切都很顺利,除了一个项目在尝试实例化 Appender 时失败了。

输出显示以下错误:



System.TypeLoadException: Could not load type [Common.Appenders.MyCustomAppender].
Tried assembly [log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a]
and all loaded assemblies
at log4net.Util.SystemInfo.GetTypeFromString(Assembly relativeAssembly, String typeName, Boolean throwOnError, Boolean ignoreCase)
at log4net.Util.SystemInfo.GetTypeFromString(String typeName, Boolean throwOnError, Boolean ignoreCase)
at log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
log4net:ERROR Appender named [MyCustomAppender] not found.
  

所有项目的 log4net 配置都是相同的。app.config包含:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="MyCustomAppender" type="Common.Appenders.MyCustomAppender">
      <file value="log.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="MyCustomAppender" />
    </root>
  </log4net>
</configuration>

从我调用的代码log4net.Config.XmlConfigurator.Configure()。如果我使用手动加载程序集Assembly.Load("Common")在为非工作项目调用 log4net configure 之前,一切都很好。

知道为什么程序集没有加载时MyCustomAppender是通过反射实例化的吗?我该如何解决这个问题?


尝试将程序集的名称放在类型名称之后

<appender name="MyCustomAppender" type="Common.Appenders.MyCustomAppender,Common">

http://weblogs.asp.net/tgraham/archive/2007/05/02/loading-the- assembly-for-a-custom-log4net-appender.aspx http://weblogs.asp.net/tgraham/archive/2007/05/02/loading-the-assembly-for-a-custom-log4net-appender.aspx

请记住,程序集的名称不一定与其默认命名空间或 Visual Studio 中的项目名称相同。这里的相关名称是输出名称(即生成的dll的文件名)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序集未加载 C# 的相关文章

  • 迭代变量并查找特定类型实例的技术

    我想迭代进程中内存中的变量 通过插件动态加载 并查找特定类型的实例 以前我可以找到特定类型 或内存中的所有类型 我可以创建类型的实例 我可以获取作为不同类型的字段包含的实例 但我无论如何都不知道只是 搜索 特定类型的实例 一种方法是使用 W
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 基于xsd模式生成xml(使用.NET)

    我想根据我的 xsd 架构 cap xsd 生成 xml 文件 我找到了这篇文章并按照说明进行操作 使用 XSD 文件生成 XML 文件 https stackoverflow com questions 6530424 generatin
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项

随机推荐

  • GIF 图像在 .net MAUI 应用程序中不起作用

    我想在我的应用程序中显示一些 gif 动画图像 我用来使用 Xamarin Forms 执行此操作的库是 Xamarin FFImageLoading Svg Forms 现在我们正在将应用程序迁移到 net MAUI 我看到 MAUI 文
  • Amazon AWS EC2 端口:连接被拒绝

    我刚刚在一个全新的 AWS 账户上创建了一个 EC2 实例 位于安全组后面 并在上面加载了一些软件 我正在机器上的端口 4567 当前 上运行 Sinatra 并已在我的安全组中向全世界开放该端口 此外 我可以 ssh 进入 EC2 实例
  • C 编程和 TDD

    测试驱动开发仅限于面向对象吗 或者将它与过程语言结合使用是否可能 有用 接下来的几周我必须开始一个更大的 C 项目 我正在考虑如何开发 TDD 是一个design范例 因此不依赖于任何特定的编程范例 简而言之 在编写代码之前先为代码编写测试
  • 如何在引导选项卡中添加关闭图标?

    我想在引导选项卡中添加一个关闭图标 然后我可以通过单击该图标关闭选项卡 我在下面尝试 但 X 显示的不是与选项卡标题在同一行 close font size 20px font weight bold line height 18px co
  • Spark表如何创建索引?

    我知道 Spark Sql 与 Hive 几乎相同 现在我已经创建了一个表 当我执行 Spark sql 查询来创建表索引时 它总是给我这个错误 SQL 语句中的错误 AnalysisException 创建索引语句中的输入 期望 AS 接
  • 指定的输入源无效

    使用 remix IDE 构建智能合约时 通过以下导入收到无效的输入源指定错误 import https github com aave flashloan box blob Remix contracts aave FlashLoanRe
  • 以极高的精度计算小数?

    出于好奇 我正在编写一个小型 JavaScript 程序来估计数字的值e 由系列 1 n 给出从零到无穷大 问题是 由于 IEEE 754 标准 无论我评估多少个术语 我的答案都会四舍五入到小数点后 16 位 有没有一种方法可以在值达到不考
  • 使用 java 创建快速/可靠的基准测试?

    我正在尝试使用 java 创建基准测试 目前我有以下简单的方法 public static long runTest int times long start System nanoTime String str str for int i
  • 线程环境中的 Clojure 全局变量行为

    鉴于这按我的预期工作 do println resolve a nil def a a println resolve a user a 我想了解为什么这不会 future println resolve b user b shouldn
  • 球互相弹开

    我正在编写这个脚本 其中画布中有 x 个弹跳球 在本例中为 20 个球 我的问题是 如何让它们在撞击时相互弹开 以及在撞击黄色矩形时弹开 var mycanvas document getElementById mycanvas var c
  • 使用 libav 转换 mp4-ts

    我正在尝试使用将 mp4 文件转换为 mpegtslibav 该代码可以工作 但输出的文件无法被任何播放器播放 这里是输入文件 http yt dash mse test commondatastorage googleapis com m
  • 单击按钮后克隆整个表单元素

    我有以下表格
  • 没有.net库的图像裁剪C#

    谁能建议如何裁剪图像 例如 jpeg 而不使用任何 NET 框架结构 仅使用原始字节 因为这是 Silverlight 中唯一 的方法 或者指向一个图书馆 我不关心渲染 我想在上传之前操作 jpg Silverlight 中没有可用的 GD
  • 无法链接到 XCode9 中的插座集合

    我有一些在动画期间随机播放的限制 升级到 XCode9 后 我尝试进行一些调整 编辑器似乎不再允许我向约束集合 IBOutlet 添加约束 我什至创建了一个新项目并尝试制作一个简单的插座系列 但遇到了同样的问题 这是我正在谈论的内容的简短视
  • 删除 PayPal Express Checkout 中的送货地址选项

    我用的是JSscript https developer paypal com docs integration direct express checkout integration jsv4 basic integration 贝宝推荐
  • Google 可以使用邮政信箱自动填写地址表单吗?

    我正在购物车中的结账表单上使用 地点 自动完成功能 参见示例 https developers google com maps documentation javascript examples places autocomplete ad
  • 在Python中使用队列进行线程处理

    我想在 python 中使用线程来下载大量网页 并浏览了以下在其中一个网站中使用队列的代码 它放置了一个无限的 while 循环 每个线程是否连续运行 直到所有线程都完成为止 我是不是错过了什么 usr bin env python imp
  • mongo集合中的数据碎片

    我在一个 mongo 集合中有很多更新 并假设此后文件系统上存在巨大碎片 我主要担心的是 集合将在文件系统上不断增长 而集合 中的数据却没有有价值的增长 您能否证实或反驳我的担忧 这取决于您要进行哪种更新 如果这些更新增加了您的文档 数组推
  • 对于同一 .NET 库的不同目标框架构建,程序集 GUID 属性是否应该有所不同?

    我正在用 C 开发一个 NET 库 它必须解决一系列广泛的目标框架 我想生成一个 nuget 包 它可以根据目标项目的设置正确安装 为了实现这一目标 我使用多个 csproj 文件 它们中的每一个都针对特定的目标框架 例如 MyLibrar
  • 程序集未加载 C#

    我有一个项目Common其中包含一个 log4net CustomAppender 我在所有其他项目中引用该项目并在中配置 log4net 附加程序app config 一切都很顺利 除了一个项目在尝试实例化 Appender 时失败了 输