提供了我的类型的完全限定名称,但是当我 运行 程序时,它在错误的程序集中查找类型
The fully qualified name for my type is provided but when I run the program it looks for the type in the wrong assembly
当我 运行 我的 WCF 服务时,出现错误
"Could not load type
'CompanyName.Services.WCF.GenericNotes.Entities.GenericNote' from
assembly 'CompanyName.Services.WCF.GenericNotes,
Version=1.2.0.7,Culture=neutral,PublicKeyToken=null'.
没错,GenericNote 类型不在 CompanyName.Services.WCF.GenericNotes 中,但它在 CompanyName.Services.WCF.GenericNotes.ENTITIES 程序集中,其 dll 包含在我的程序目录中。我通过从元数据中查看客户端的定义来确定我正在实例化的客户端需要这种类型,所以我无法触摸实际查找该类型的文件。那里提供了正确的 'using' 指令。即使提供了全名,.NET 为什么会在错误的程序集中查找类型?它如何确定在何处查找类型?
这种情况通常 发生的原因有两个:
- 配置文件中指定的程序集(作为文本)不正确 - 检查您的应用程序正在使用的配置文件
- 一个类型已在程序集之间移动;意思是:编译
SomeAssembly.dll
时,类型 是 CompanyName.Services.WCF.GenericNotes.dll
中的 ,但它已经移动到 CompanyName.Services.WCF.GenericNotes.Entities.dll
而你 SomeAssembly.dll
有没有用这种依赖重建;为此,有两种选择:
- 使用更新的依赖项重建
SomeAssembly.dll
,或
- 将
[TypeForwardedTo(typeof(CompanyName.Services.WCF.GenericNotes.Entities.GenericNote))]
添加到'CompanyName.Services.WCF.GenericNotes.dll
并重建它(注意这需要对现在具有该类型的项目的依赖);运行时使用此属性来解析已移动的类型(请注意,在某些框架中也有 [TypeForwardedFrom(...)]
,其工作方式类似但方向性不同)
当我 运行 我的 WCF 服务时,出现错误
"Could not load type 'CompanyName.Services.WCF.GenericNotes.Entities.GenericNote' from assembly 'CompanyName.Services.WCF.GenericNotes, Version=1.2.0.7,Culture=neutral,PublicKeyToken=null'.
没错,GenericNote 类型不在 CompanyName.Services.WCF.GenericNotes 中,但它在 CompanyName.Services.WCF.GenericNotes.ENTITIES 程序集中,其 dll 包含在我的程序目录中。我通过从元数据中查看客户端的定义来确定我正在实例化的客户端需要这种类型,所以我无法触摸实际查找该类型的文件。那里提供了正确的 'using' 指令。即使提供了全名,.NET 为什么会在错误的程序集中查找类型?它如何确定在何处查找类型?
这种情况通常 发生的原因有两个:
- 配置文件中指定的程序集(作为文本)不正确 - 检查您的应用程序正在使用的配置文件
- 一个类型已在程序集之间移动;意思是:编译
SomeAssembly.dll
时,类型 是CompanyName.Services.WCF.GenericNotes.dll
中的 ,但它已经移动到CompanyName.Services.WCF.GenericNotes.Entities.dll
而你SomeAssembly.dll
有没有用这种依赖重建;为此,有两种选择:- 使用更新的依赖项重建
SomeAssembly.dll
,或 - 将
[TypeForwardedTo(typeof(CompanyName.Services.WCF.GenericNotes.Entities.GenericNote))]
添加到'CompanyName.Services.WCF.GenericNotes.dll
并重建它(注意这需要对现在具有该类型的项目的依赖);运行时使用此属性来解析已移动的类型(请注意,在某些框架中也有[TypeForwardedFrom(...)]
,其工作方式类似但方向性不同)
- 使用更新的依赖项重建