“embedded式互操作程序集创build的参考”是什么意思?
我收到以下警告:
由于间接引用由程序集
c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.dll
创build的程序集,所以创build了embedded式互操作程序集c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Accessibility.dll
c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.dll
。 考虑更改任一程序集上的“embedded互操作types”属性
我的程序集包含对Accessibility.dll和System.Windows.Forms.dll的引用。 为什么我得到这个警告?
顺便说一句,Accessibility.dll具有“Embed Interop Types = true”,而System.Windows.Forms.dll设置为false。
根据MSDN:
“你已经添加了一个Assembly(Assembly1)的引用,它的Embed Interop Types属性被设置为True,它指示编译器从该程序集中embeddedinteroptypes信息,但是编译器不能从该程序集中embeddedinteroptypes信息,您引用(assembly2)的程序集也引用该程序集(assembly1)并将Embed Interop Types属性设置为False。
解决这个警告
要为两个程序集embeddedinteroptypes信息,请将所有对assembly1的引用的Embed Interop Types属性设置为True。
这意味着您必须在System.Windows.Forms.dll上更改“Embed Interop Types = true”
要么
要删除警告,可以将assembly1的Embed Interop Types属性设置为False。 在这种情况下,互操作types信息由主互操作程序集(PIA)提供。