在部署我的项目之前,我想将所有public
方法设置为internal
方法。有人知道 Visual Studio 中的内置函数或执行此类任务的外部工具吗?
问问题
128 次
3 回答
2
通过一些简单的重构,ILMerge可以在这里工作。ILMerge 可以将多个程序集合并为一个,并将不属于主程序集的所有内容的可访问性更改为internal
. 通过将您当前的项目分成两个项目(一个包含所有代码的库,以及一个只转发库中的真实代码的辅助可执行文件),您可以在构建之后将它们合并回一个文件,在所有库位不再公开。
于 2013-09-12T14:38:55.833 回答
1
如果您出于测试原因公开了属性/方法,您应该查看 Brad Wilsons 博客:可测试对象模式
这样您就不必切换,一切都保持在内部开发中。
或者看看 Jon Skeets 关于InternalsVisibleTo的建议
于 2013-09-12T15:57:59.870 回答
0
我只能想到您想要这样做的两个原因:
安全。在这种情况下,您有错误的想法:访问修饰符不是安全机制。它们是一个设计问题,描述了 API 如何呈现自己。任何调试器仍然可以访问您的所有方法,无论它们的访问修饰符如何。
您有另一个在开发过程中使用的程序集应该具有完全访问权限。在这种情况下,您可以保留所有内容
internal
并使其成为朋友程序集。
于 2013-09-12T16:12:41.793 回答