Я пытался запустить модульный тест в Visual Studio для приложения MVC и постоянно получал следующую ошибку:
Указанный URL-адрес ('http://localhost:21496/') не соответствует действительному каталогуТесты, настроенные для работы в ASP.NET в IIS, требуют, чтобы для URL существовал действительный каталог. URL может быть недействительным или может не указывать на действительное веб-приложение.
Единственный совет -чтобы убедиться, что у вас есть локальный адрес в атрибуте UrlToTest, вот так:
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("http://localhost:21496/")]
Однако это все равно не работает с IIS Express или IIS 7 в Windows 7 и при удалениив журналах событий обнаружена следующая проблема.
(QTAgent32.exe, PID 6976, Thread 15) WebSites.GetWebServer: failed to create AspNetHelper: Microsoft.VisualStudio.Enterprise.Common.AspNetHelperException: The website metabase contains unexpected information or you do not have permission to access the metabase. You must be a member of the Administrators group on the local computer to access the IIS metabase. Therefore, you cannot create or open a local IIS Web site. If you have Read, Write, and Modify Permissions for the folder where the files are located, you can create a file system web site that points to the folder in order to proceed. ---> System.Runtime.InteropServices.COMException: Unknown error (0x80005000)
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.ChildEnumerator..ctor(DirectoryEntry container)
at Microsoft.VisualStudio.Enterprise.Common.IISHelper.GetWebServerOrdinal(Uri site)
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.Enterprise.Common.IISHelper.GetWebServerOrdinal(Uri site)
at Microsoft.VisualStudio.Enterprise.Common.IISHelper.get_WebServerOrdinal()
at Microsoft.VisualStudio.Enterprise.Common.IISHelper.get_RootPath()
at Microsoft.VisualStudio.Enterprise.Common.IISHelper.get_PhysicalPath()
at Microsoft.VisualStudio.Enterprise.Common.AspNetHelperMan..ctor(Uri uri, BasicAuthCredential credential, Int32 frameworkMajorVersion)
at Microsoft.VisualStudio.TestTools.HostAdapters.WebSites.GetWebServer(String webServerName, WebServerType webServerType, String urlToTest, String pathToWeb, String webAppRoot, BasicAuthCredential credential, Context context, WebSiteConfigurationType webSiteConfigType, Origin origin)
Следующий шаг, который я предпринял, состоял в том, чтобы убедиться, что QTAgent32 всегда работает с правами администратора, наряду с Visual Studio.
Сейчас я нахожусьв растерянности и не может придумать что-либо еще, чтобы попытаться, так что надеюсь, что кто-то, по крайней мере, может указать мне в каком-то направлении.
Спасибо