微软.Exchange.WebServices在VS2010中无法工作。

14

我正在使用EWS ExchangeService从Outlook读取电子邮件... 在Console项目和VS2008中编写代码...一切正常...我可以读取电子邮件。

为了更加熟悉VS2010,我创建了一个控制台项目并将其复制到VS2010项目中。

因此,我在Microsoft \ Exchange \ Web Services \ 1.1 \ Microsoft.Exchange.WebServices.dll文件夹中添加了引用“Microsoft.Exchange.WebServices”(版本14.2.51.0)。

一切都按原样进行,所以我看到Intellisence,我看到Exhange程序集的方法属性等...

using Microsoft.Exchange.WebServices.Data;

第一问题:

问题: -只要我在VS2010中单击构建按钮...我就会收到以下错误消息: 名称空间“Microsoft”中不存在类型或命名空间名为“Exchange”的类型(是否缺少程序集引用?)从这里开始,Exchange程序集的所有方法/属性都被挤压下划线... Intellisence不再适用于Exchange程序集。 当我从引用中删除程序集并重新添加时,我会再次获得Exchange程序集的intellesence...但是当我单击构建时,它会再次发生:(, 我转到我的代码并输入 "Microsoft.",我再也看不到Exchange单词了...

所以我不明白为什么会出现这种情况,在VS2008上可以工作,但在VS2010上却无法工作?我唯一想到的方法是VS是Framework 3.5,而VS2010是V4.0

有没有什么想法要查找? 如何解决这个问题?

第二个问题:

  • 我需要获取电子邮件的附件...所以当电子邮件到达特殊的电子邮件帐户时,我需要获取附件并将附件文件保存到特定的文件夹中。 这里最好的方法是什么? 在控制台项目中创建代码并创建Windows服务项目? 还是只有控制台项目或只有Classlibrry项目,并添加到任务计划程序? 所以我需要一些关于如何在项目级别上进行处理的建议...编程逻辑已经在此处起作用。

但是如我在我的第一个问题中所说,我已经在VS2008中使其工作了,但是在按下构建按钮后,VS2010无法识别Exchange程序集。


关于问题1:当我创建一个Web项目并尝试添加microsoft.exchange.webservice时,我没有任何问题。但是当我使用控制台项目或Windows服务项目时,在第一次构建后,程序集(命名空间)就会变成未知的...????? - ethem
1个回答

38

回答问题1:您需要将项目中的目标框架从".NET Framework 4 Client Profile"切换到".NET Framework 4"。


谢谢@anonymous!这节省了我很多时间。我之前试过运行时的旧版本(.Net 2.0等),但没有试过4.0版本。 - Shiva
我从一个项目中复制了一个模块并将其复制到另一个项目中,我检查了两个项目的属性,都是 .Net Framework 4,但是在我复制到新项目中时仍然显示相同的错误,如“是否缺少程序集引用?”(与上述相同)。有什么猜测吗? - Shyam Dixit
我必须使用 .NET 4 客户端框架,这意味着没有任何 EWS API 版本与 .NET 4 客户端框架兼容吗? - Muhammad Adnan
谢谢...你救了我的一天。 - Pranav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接