这听起来与这个问题有关,但它们并不是一回事.这个问题没有出现任何集会.除了我安装的特定设备之外,我的所有设
我希望有人能解决这个问题......我做错了什么?或者我在VS中发现了一些错误?
我在Windows 7旗舰版上使用Visual Studio 2010 Professional Beta 2.我刚刚下载了Rhino Mocks并决定使用命令行实用程序GACUTIL将其安装到GAC中.然后我重新启动了.
在这里你可以看到我的GAC中的程序集(点击放大):
以下是Visual Studio中可用的程序集列表:
这是我安装它的命令提示符,然后确认它:
C:\Users\jason\Downloads>gacutil -i Rhino.Mocks.dll
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.21006.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly successfully added to the cache
C:\Users\jason\Downloads>gacutil /l |grep -i rhino
Rhino.Mocks, Version=3.6.0.0, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL
Run Code Online (Sandbox Code Playgroud) 我的任务是在.Net中编写一个SOAP Web服务,作为EWS2010和以前使用WebDAV连接到Exchange的应用服务器之间的中间件.(据我所知,WebDAV正在消失EWS2010,因此应用服务器将无法像之前那样连接,并且在没有WebDAV的情况下连接到EWS的指数更难.理论上是在.Net中实现它.应该比其他任何事情都容易......对吧?!)
我的最终目标是能够获取并更新指定Exchange帐户的电子邮件,日历项,联系人和待办事项列表项.(删除目前不是必需的,但我可以将其构建以供将来考虑,如果它很容易的话).
我最初得到了一些示例代码,实际上它确实有效,但我很快意识到它已经过时了.使用的类型和类在当前文档中没有出现.
例如,用于创建与Exchange服务器的连接的方法是:
ExchangeService svc = new ExchangeService();
svc.Credentials = new WebCredentials(AuthEmailAddress, AuthEmailPassword);
svc.AutodiscoverUrl(AutoDiscoverEmailAddress);
Run Code Online (Sandbox Code Playgroud)
对于它的价值,这是使用示例代码附带的程序集:( Microsoft.Exchange.WebServices.dll"MEWS").
在我意识到这不是当前实现连接的标准方法之前,它起作用了,我尝试在它上面构建并添加一个创建日历项的方法,我从这里复制了:
static void CreateAppointment(ExchangeServiceBinding esb)
{
// Create the appointment.
CalendarItemType appointment = new CalendarItemType();
...
}
Run Code Online (Sandbox Code Playgroud)
马上,我遇到了ExchangeService和ExchangeServiceBinding("ESB")之间的区别; 所以我开始谷歌搜索试图找出如何获得ESB定义,以便该CreateAppointment方法将编译.我发现这篇博文解释了如何从WSDL生成代理类,我做了.
不幸的是,这引起了一些冲突,其中原始程序集中定义的类型Microsoft.Exchange.WebServices.dll(示例代码附带的)与我的新EWS.dll程序集中的类型(我services.wsdl根据Exchange服务器提供的代码编译)重叠.
我排除了MEWS装配,这只会让事情变得更糟.我从一些错误和警告到25个错误和2,510个警告.没有找到各种类型和方法.这里显然有些不对劲.
所以我回去追捕.我找到了添加服务引用和Web引用的说明(即在VS2008中采取的额外步骤),我想我已经回到了正确的轨道上.
我删除了(实际上,现在,只是排除了)我以前尝过的所有以前的程序集; 我添加了一个服务参考https://my.exchange-server.com/ews/services.wsdl
现在我只有1个错误和1个警告.
警告:
元素'transport'不能包含子元素'extendedProtectionPolicy',因为父元素的内容模型为空.
这是指我添加服务引用时对web.config所做的更改; 而我刚刚在SO上找到了解决方法.我已经按照指示对该部分进行了评论,并确实使警告消失了,所以就这样了.
但错误并不容易解决: …