之前提出过这类问题,但我还没有找到实际发生情况的明确解释 - “父母不存在”实际上是什么意思?< / p>
我的项目中最近开始出现此错误的部分是单片的。是的,应用程序加载DLL,但据我所知,实例化缺失类型和类型本身的代码都在同一个程序集中。
我有一个模板化的托管类型,它本身是另一个模板化类型的子类:
template <class T>
public ref class my_class : public my_superclass<T> {
// blah blah blah
};
在不同的地方,这个模板有各种类型的专业化。除int
专用的版本外,它们都可以正常工作并加载。当应用程序运行(调试版本)时,该特定专业化的实例化会抛出:
yourapp.exe中发生了'System.TypeLoadException'类型的异常,但未在用户代码中处理。
其他信息:无法加载类型 'my_class&LT; INT&GT;'来自程序集'yourapp,Version = 1.2.3.0,Culture = neutral,PublicKeyToken = null',因为父项不存在。
同样,同一个程序集可以加载my_class<float>
,my_class<double>
和my_class<unsigned int>
而无需眨眼,并且可以在之前的版本中加载my_class<int>
。
我尝试过完全重建。我已经尝试手动删除所有输出目录,重新启动和重建,同样的问题仍然存在。我没办法。这是什么意思?我该如何解决?