释放模式下的装配体反射问题

问题描述 投票:0回答:1

我正面临一些奇怪的行为,试图在某些日志记录类中获取父程序集(仅当它以Release模式进行编译时。)>

Debug

模式下,它就像一个超级按钮:
            StackFrame[] frames = new StackTrace().GetFrames();
            var assemblies = (from f in frames
                              select f.GetMethod().ReflectedType.Assembly)
                                    .Distinct()
                                    .Last();

示例:程序集A

=> 程序集B => 方法

当我在调试模式下运行上述脚本时,我得到了[[assembly A

(按预期方式),但是当它在发布模式下运行时,我得到了:mscorlib。但是最奇怪的是,如果检查整个程序集堆栈没有对程序集A的单个引用。这怎么可能?会发生什么?PS:程序集A是一个webapp项目。

我正面临一些奇怪的行为,试图在某个日志记录类中获取父程序集(仅当以发布模式进行编译时)。在调试模式下,它的工作方式就像一个超级按钮:StackFrame [] ...

c# reflection .net-assembly mscorlib
1个回答
0
投票
我已经创建了一个名为consoleA的示例控制台应用程序和一个名为classB的类库。
© www.soinside.com 2019 - 2024. All rights reserved.