项目引用混淆的程序集时代码分析失败
由于我们已将第 3 方程序集合并到项目中,Visual Studio 2010 代码分析无法运行。
项目:错误:CA0055:无法 加载 C:\Programming\MyAssembly.dll。
项目:错误:CA0052:没有目标 被选中。
项目:错误: CA0058:引用的程序集 '他们的程序集,版本=1.0.0.0, 文化=中立,PublicKeyToken=...' 找不到。本次大会是 需要进行分析并且是 引用者: C:\Programming\MyAssembly.dll。
打开第3方程序集Reflector时出现错误:
NT 标头中数据目录的数量无效。
我在网上做了一些搜索,看来程序集被混淆了。
有什么办法可以解决这个问题吗?我们可以从代码分析中排除这个程序集吗?
Visual Studio 2010 code analysis fails to run now that we've incorporated a 3rd-party assembly into our project.
Project : error : CA0055 : Could not
load C:\Programming\MyAssembly.dll.Project : error : CA0052 : No targets
were selected.Project : error :
CA0058 : The referenced assembly
'TheirAssembly, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=...'
could not be found. This assembly is
required for analysis and was
referenced by:
C:\Programming\MyAssembly.dll.
When opening the 3rd-party assembly Reflector gives the error:
Invalid number of data directories in NT header.
I've done some searching online and it appears that assembly is obfuscated.
Are there any ways around this? Can we exclude this assembly from code analysis?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们刚刚在我们的构建中遇到了这个问题。我们正在将第三方商业库合并到我们的代码库中。
为了避免这个问题,我们将调用引用程序集的代码重构到另一个名为 ProjectName.External 的项目中,在该项目上禁用了代码分析。
现在,我们可以对大多数解决方案启用代码分析,但仅对使用模糊 dll 的调用禁用它。
不是最漂亮的,但它对我们有用。
We just ran into this on our build. We're incorporating a 3rd party comercial library into our code base.
To dodge the problem we've refactored out the code that calls against the referenced assembly into another project, called ProjectName.External, on which code analysis is disabled.
We can now leave code analysis enabled for most of the solution but it is disabled just for the calls that use the obfuscated dll.
Not the prettiest but it works for us.