我正在使用C#4.7.2 PRISM Unity 6.2.0
我有这样的公开课
public partial class MyClass
{
public static string MyFirstString = "MyFirstString";
public static string MySecondString = "MySecondString";
}
字符串用于注册类型
public void Initialize()
{
RegisterObjects();
}
private void RegisterObjects()
{
container.RegisterType<object, SomeClass>( MyClass.MyFirstString );
container.RegisterType<object, SomeOtherClass>( MyClass.MySecondString );
}
容器是IUnityContainer,Initiliaze()是IModule(来自PRISM)的成员
SomeClass已注册,没有任何问题。但是SomeOtherClass无法注册。在MyClass.MySecondString上引发System.MissingFieldException。
一切都是公开的,构建成功,甚至可以通过按 F12 (在Visual Studio中)导航到MySecondString。
什么可能导致此异常?
答案 0 :(得分:0)
听起来您的缓存中加载了多个版本的 DLL。使用“gacutil -l”查看缓存中加载了多少版本。您可以使用“gacutil -u”删除所有版本。