这是我遇到的问题。我需要从 C# 中的两个类继承,这是无法完成的。因此,我将我的类设置为从一个类继承并为另一个类实现接口。我先做了界面,一切都很好。然后从类继承时开始出现问题。起初,它会编译,但在实现类时我会得到:
The assembly 'XXXXXXX\bin\x86\Debug\Resource.dll' does not have a strong name.
很容易,我签署了我的项目。但是现在我在使用以前工作的参考进行构建时遇到了一个问题:
The type 'WPResourceEvtLib.IWPResourceEvt' is defined in an assembly that is not
referenced. You must add a reference to assembly 'Interop.WPResourceEvtLib,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=567474567455'
我有已注册的 WPResourceEvtLib.tlb 和一个不需要的 Interop.WPResourceEvtLib.dll。如果我将 Interop.WPResourceEvtLib.dll 添加到我得到的引用中:
Cannot embed interop type 'WPResourceEvtLib.tagWPResErrorType' found in both assembly
'XXXXXXX\Interop.WPResourceEvtLib.dll' and
'XXXXXXX\obj\x86\Debug\Interop.WPResourceEvtLib.dll'. Consider setting the 'Embed
Interop Types' property to false.
这是 .net3.5,所以没有“嵌入互操作类型”选项,但我确实在 cproj 文件中找到了这些选项——尽管它们什么也没做。我要么非常接近,要么我的实施完全错误。会是什么呢?