Microsoft Exchange Web Services를 사용하고 있으며 어떤 이유로 든 내 뷰에서 네임 스페이스에 액세스 할 수 없지만 컨트롤러 코드에서는 제대로 작동합니다.
내 컨트롤러 코드 :
using Microsoft.Exchange.WebServices.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
namespace EWS.Web.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var service = new ExchangeService();
service.Credentials = new WebCredentials("username", "password");
service.AutodiscoverUrl("username", RedirectionUrlValidationCallback);
var userMailbox = new Mailbox("emailAddress");
var folderId = new FolderId(WellKnownFolderName.Inbox, userMailbox);
var itemView = new ItemView(20); // page size
var userItems = service.FindItems(folderId, itemView);
return View(userItems.ToList());
}
}
}
내 컨트롤러 코드가 예상대로 작동하여 최신 사용자 이메일 중 20 개를 가져옵니다. 그러나 이러한 이메일을보기에 표시하려는 경우 다음 오류가 발생합니다.
CS0234: The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Exchange.WebServices'
내보기에서 다음을 추가해 보았습니다.
@using Microsoft.Exchange.WebServices.Data
동일한 오류가 발생합니다. 또한 내 Views 폴더의 Web.Config 파일에 네임 스페이스를 추가해 보았습니다.
<add namespace="Microsoft.Exchange.WebServices.Data"/>
그리고 다시 동일한 오류가 발생합니다.
컨트롤러가 네임 스페이스를 찾을 수있는 문제가 발생한 적이 없었지만 내 견해는 찾을 수 없었습니다. 컨트롤러가 네임 스페이스를 찾을 수 있다는 사실은 내 참조가 정확하다는 것을 알려줍니다.
어떤 도움을 주시면 감사하겠습니다.
모든 Microsoft.Exchange.WebServices 참조를 제거하고 Nuget을 통해 다시 설치하고 솔루션을 정리하여이 문제를 해결했습니다.
왜 이런 일이 발생했는지 또는 어떻게 일어날 수 있는지 확실하지 않지만 문제가 해결되는 것 같습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다