2

以下问题:我们在单元测试中使用模拟库 Moq。因此,我们对 DynamicProxyGenAssembly2 有一个 InternalsVisibleTo 属性。此外,我们混淆了我们的程序集。问题来了 - 由于 DynamicProxyGenAssembly2,我们所有的内部接口和类都不再被混淆。

据我所知,大多数模拟库都使用这个 DynamicProxyGenAssembly2。即使他们没有,我也不认为有模拟库可以在没有 InternalsVisibleTo 的情况下模拟内部接口。

你们中有人有同样的问题,你是如何解决的。我想使用模拟和混淆 - 这可能吗?

问候,Yggdrasil。

编辑

如果模拟程序集是开源的并且不中继再次需要访问这些接口的第三方程序集,则它是可能的。我们可以在构建过程中包含模拟程序集,它会与我们的程序集一起混淆。有这样的开源模拟系统吗?

4

1 回答 1

2

也许您可以拥有 2 种构建配置,一种用于单元测试的未混淆配置,另一种具有所有安全功能的发布配置。仅第一个配置需要 InteralsVisibleTo 属性。

于 2013-03-11T13:00:51.460 回答