我已使用Using the same modules in multiple projects的答案将一些共享代码迁移到.dll文件中,以便在新项目中使用。共享代码有几种方法,所有方法都使用两个NuGet程序包,其中一些使用'Microsoft.Office.Interop'来处理Outlook消息。
我已经创建了一个新项目作为新.dll文件的测试平台,并认为我可能已经做了“漫长的尝试”,因为我必须手动将nuget软件包添加到该新项目中,使其正常工作,并且当我使用可以接受字符串或Outlook对象的重载方法时(如下所示),出现错误Cannot find the interop type that matches the embedded type 'Microsoft.Office.Interop.Outlook.MailItem'. Are you missing an assembly reference?
Public Sub UpdateNextDesk(comment As String)
'code
end sub
Sub UpdateNextDesk(ByRef withMail As Outlook.MailItem)
'different code
end sub
是否有一种编译dll的方法,以便它自动将正确的引用添加到包含该dll的项目中?或相反,包括dll及其使用的所有引用的方式?如果我为接受更多类型对象的方法创建更多重载,是否需要在需要添加到新项目的所有不同引用的某处创建列表?