C# Microsoft.Office.Interop.outlook不工作
我正在开发一个小项目,我需要能够从Outlook邮箱检索电子邮件,以便处理收到的电子邮件 我用VB.net中的一个旧程序用C重写了它。 对于Vb.net中的项目,我没有错误 但是我有以下错误:System.IO.FileNotFoundException:“无法加载文件或程序集”office,版本=15.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c”。在C项目中找不到指定的文件 我的推荐人: 当我将Microsoft.Office.Interop.outlook库与Vb.net中安装的项目进行比较时,安装的版本完全相同,等等C# Microsoft.Office.Interop.outlook不工作,c#,vb.net,visual-studio,outlook,C#,Vb.net,Visual Studio,Outlook,我正在开发一个小项目,我需要能够从Outlook邮箱检索电子邮件,以便处理收到的电子邮件 我用VB.net中的一个旧程序用C重写了它。 对于Vb.net中的项目,我没有错误 但是我有以下错误:System.IO.FileNotFoundException:“无法加载文件或程序集”office,版本=15.0.0.0,区域性=中性,PublicKeyToken=71e9bce111e9429c”。在C项目中找不到指定的文件 我的推荐人: 当我将Microsoft.Office.Interop.
因此,如果您有解决此问题的想法,我感兴趣:D您可以尝试以下步骤来解决System.IO.FileNotFoundException问题 首先,您需要将当前框架更改为.NETCore3.0 其次,选择Interop.Microsoft.Office.Interop.Outlook,右键单击“属性”,并将“嵌入互操作类型”设置为“是” 最后,您可以使用以下代码从Outlook邮箱检索电子邮件
using Outlook = Microsoft.Office.Interop.Outlook;
Outlook.Application oApp = null;
oApp = new Outlook.Application();
Outlook.NameSpace nameSpace = oApp.GetNamespace("MAPI");
Outlook.Items items = null;
try
{
// use default profile and DO NOT pop up a window
// on some pc bill gates fails to login without the popup, then we must pop up and lets use choose profile and allow access
nameSpace.Logon("", "", false, Missing.Value);
var folder = nameSpace.Folders["emailaddress"].Folders["Folder"];
items = folder.Items;
foreach (Outlook.MailItem item in items)
{
Console.WriteLine(item.Subject);
}
Console.WriteLine("yes");
Console.ReadKey();
}
catch (Exception)
{
// use default profile and DO pop up a window
nameSpace.Logon("", "", true, true);
}
您正在使用M365邮箱吗?如果是的话,请不要进行互操作。在2020年,很少有理由使用Office interop。我正在使用Office 16。您正在使用Office 16,但尝试使用Office 15 dll?但是我添加了Microsoft Office interop Outlook 16。我在我的帖子中添加了一个屏幕截图,所以我想这是Office 16的好版本,或者我犯了一个错误?您可以参考此内容。此外,您可以尝试将True添加到csproj文件中。另请参阅。