我在这个问题上找到了一些建议,但我无法解决我的问题。
我们得到了一个 .ddl,它替换了 word 文件中的占位符并返回了一个内存流。这在带有 WPF 前端的交付测试应用程序中运行良好。
现在我们需要在 CRM2011 环境中使用这个解决方案。我在我的 CRM 项目中添加了对这个 .dll 文件的引用,完全按照示例中的方式构建逻辑,然后出现MissingMethodException。
我调试到抛出异常的地步,发现这样的东西:
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(); 抛出异常。我完全不知道这里出了什么问题,以及为什么这段代码在测试应用程序上运行良好。