我在这个问题上找到了一些建议,但我无法解决我的问题。
我们得到了一个.ddl,它替换了word文件中的占位符并返回了一个内存流。这在带有WPF FrontEnd的交付测试应用程序中工作正常。
现在我们需要在CRM2011环境中使用此解决方案。我在我的CRM项目中添加了对此.dll文件的引用,完全按照示例中所示的方式构建逻辑,并且 boom 出现MissingMethodException。
我试图抛出Exception并发现像这样的东西:
readonly Dictionary<Type, object> typeMap = new Dictionary<Type, object>();
/// <summary>
/// Returns an instance of the DataService implementing the <typeparamref name="TService"/> interface
/// </summary>
/// <typeparam name="TService">type of the interface for the DataService</typeparam>
/// <returns></returns>
public TService For<TService>()
{
if (typeMap.ContainsKey(typeof(TService)))
{
object value = typeMap[typeof(TService)];
if (value is Type)
{
return (TService)Activator.CreateInstance((Type)typeMap[typeof(TService)]);
}
return (TService)value;
}
return Activator.CreateInstance<TService>();
}
行Activator.CreateInstance();抛出异常。我完全不知道这里出了什么问题以及为什么这段代码在测试应用程序上工作正常。
答案 0 :(得分:0)
我假设它是因为您要么尝试创建静态类,要么是没有空构造函数的类。添加try catch,显示尝试创建的类型以缩小发生的情况。