在Visual Studio中,当向项目添加一个引用时,属性窗口中有一个选项Embed Inteop Types
,我们应该将其设置为True
还是False
吗?有什么不同?
由于我们有很多项目,其中一些项目的引用设置为False
,其他项目的设置为True
,这完全是一团糟。 bulid服务器也有相同的警告:
因此,我们计划将所有Embed Inteop Types
更改为False
,这会带来什么风险?
最佳答案
引入此选项是为了消除为互操作部署非常大的PIA(主互操作程序集)的需要。
它只是嵌入所使用的托管桥接代码,该代码使您可以与非托管程序集进行通信,但不是将其全部嵌入,而是仅创建您在代码中实际使用的东西。
在Scott Hanselman的博客文章中了解更多信息以及其他VS改进here。
至于是否建议,我不确定,因为我不需要使用此功能。快速的网络搜索产生了一些线索:
将它们全部置为假的唯一风险是,与PIA文件有关的部署问题更多,而如果其中一些文件很大,则涉及更大的部署问题。
关于c# - 在Visual Studio中将Embed Interop Types设置为true和false有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20514240/