Jer*_*ian 110 c# visual-studio
在Visual Studio中,当向项目添加一个引用时,属性窗口有一个选项Embed Inteop Types,我们应该将其设置为True或False?有什么不同?
由于我们有很多项目,其中一些项目已经设置参考False,其他项目设置为True,它完全搞砸了.并且bulid服务器也有相同的警告:
因此,我们打算改变所有的Embed Inteop Types到False,我们会得到什么风险?
Ada*_*rth 73
引入此选项是为了消除为互操作部署非常大的PIA(主互操作程序集)的需要.
它只是嵌入了所使用的托管桥接代码,允许您与非托管程序集进行通信,但不是将其全部嵌入,而是仅创建实际在代码中使用的内容.
阅读更多斯科特Hanselman的博客文章关于它和其它VS改善这里.
至于是否建议,我不确定,因为我不需要使用此功能.快速网络搜索会产生一些线索:
将它们全部变为false的唯一风险是PIA文件的部署问题更多,如果其中一些文件很大则部署更大.
我注意到,当它设置为false时,我能够使用调试器查看项目的值.当它设置为true时,我收到错误 - item.FullName.GetValue嵌入式互操作类型'FullName'不包含'QBFC11Lib.IItemInventoryRet'的定义,因为它未在编译的程序集中使用.考虑转换为对象或将"嵌入互操作类型"属性更改为true.
| 归档时间: |
|
| 查看次数: |
85849 次 |
| 最近记录: |