вот установка, я пытаюсь пойти на работу.
Windows 7 с файлами для «веб-приложения ASP.NET» (новое приложение, созданное мастером для этого теста), установленного в c: \ tfsprojects \ test \ test, этот проект легко открывается и строится в Visual Studio 2010.
Windows Server 2003, работающая внутри VMWare Workstation 8.
VMWare имеет сопоставление, так что собственная файловая система c: \ tfsprojects отображается как \ vmware-host \ Shared Folders \ tfsprojects внутри виртуальной машины.
IIS внутри виртуальной машины, настроенный для запуска веб-сайта по умолчанию на 80 из \ vmware-host \ Shared Folders \ tfsprojects \ test
Проблема в том, что когда я получаю доступ http: // локальный / тест (внутри ВМ) я получаю следующую ошибку:
[HttpException (0x80070001): Failed to start monitoring changes to '\\vmware-host\Shared Folders\tfsprojects\test\'.] System.Web.DirMonCompletion..ctor(DirectoryMonitor dirMon, String dir, Boolean watchSubtree, UInt32 notifyFilter) +139 System.Web.DirectoryMonitor.StartMonitoring() +42 System.Web.DirectoryMonitor.StartMonitoringFile(String file, FileChangeEventHandler <snip>
[HttpException (0x80004005): ошибка инициализации ASP.NET] System.Web.HttpRuntime.FirstRequestInit (контекст HttpContext) +982 System.Web.HttpRuntime.ProcessRequestInternal (HttpWorkerRequest wr) +128
-
Я настроил каталог c: \ tfsprojects, чтобы иметь полные разрешения для «всех», а также явно добавил разрешения для анонимного пользователя домена (и настроил IIS на использование этого имени пользователя для анонимных разрешений на вкладке безопасности каталога).
-
Любые идеи? Это меня полностью поставило в тупик. По разным причинам я не могу сделать это по-другому. Очень признателен за любую помощь.
Один из приемов может заключаться в отключении функций мониторинга файлов веб-сервера разработки. Обычно ASP.NET отслеживает изменения и перезапускает пул приложений, если что-то меняется. Однако есть параметр реестра, чтобы отключить это. Это может привести к более описательной ошибке в процессе запуска.
Вы можете установить для ключа реестра FCNMode значение 1, чтобы отключить мониторинг:
http://support.microsoft.com/kb/911272
HKLM \ Software \ Microsoft \ ASP.NET \ FCNMode
или здесь, если запущен пул 32-битных приложений в 64-битной Windows:
HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ ASP.NET \ FCNMode
Вы можете запустить SysInternal's Process Monitor, чтобы определить, к каким файлам / папкам осуществляется доступ, что приводит к ошибке. Например, он может пытаться получить доступ к C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files, и вашему удостоверению приложения потребуются разрешения для этой папки.
Если это не разрешения файловой системы, это может быть связано с функциями безопасности доступа кода (CAS) .NET. Вероятно, он не знает, что делать с отображенными ресурсами VMWare. Вы можете попробовать ввести исключение для местоположений. Если это не сработает, вы можете попробовать использовать подключенный SMB диск к сетевому адресу хоста вместо использования сети VMWare.
CD /D C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
caspol.exe -m -ag 1 -url "file://\\vmware-host\*" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "file://L:/TFSProjects" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "http://localhost/*" FullTrust -exclusive on
CD /D C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727
caspol.exe -m -ag 1 -url "file://\\vmware-host\*" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "file://L:/TFSProjects" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "http://localhost/*" FullTrust -exclusive on
CD /D C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
caspol.exe -m -ag 1 -url "file://\\vmware-host\*" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "file://L:/TFSProjects" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "http://localhost/*" FullTrust -exclusive on
CD /D C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319
caspol.exe -m -ag 1 -url "file://\\vmware-host\*" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "file://L:/TFSProjects" FullTrust -exclusive on
caspol.exe -m -ag 1 -url "http://localhost/*" FullTrust -exclusive on
REM display the exceptions
caspol -lf
Похоже, что все, что использует эта установка (SMB? Не пользователь WS8 ...) для сопоставления диска с vmware, слишком неполно реализует некоторые API файловой системы, чтобы IIS мог с ними работать. Предлагаем сохранить живую файловую систему на виртуальной машине, а SMB смонтировать ее на хосте.