【发布时间】:2012-08-14 14:12:55
【问题描述】:
我的 .NET 程序集中有一个非公共类型,我正在通过该程序集内部的反射加载该类型。
这在调试版本中效果很好,但在发布版本中,链接器会删除此类型,因为:
- 它是内部的
- 在程序集的代码中没有引用它
我可以为整个项目关闭此行为或将类型公开,但这不是我想要的。相反,我正在寻找一种方法来告诉链接器在任何情况下都添加类型。理想情况下,与System::Runtime::CompilerServices::DiscardableAttribute 完全相反。
【问题讨论】:
-
您不能将 /OPT:REF 用于托管代码。如果属性中引用了删除的类型,链接器将生成无效的程序集。这可以说是一个错误,您可以将其发布到 connect.microsoft.com。不要期待奇迹。
标签: .net c++-cli visual-c++-2005