Понимая, что вы решили свою проблему (предположительно, исключение переполнения стека) с помощью обходного решения явно для создания потоков, вот фактический ответ на ваш вопрос:
Предоставленная ошибка («не удается открыть файл w3wp.exe»), как описано, является ошибкой доступа к файлу или какой-либо другой. В документации (http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx) перечислены все возможные причины этой ошибки, но вы, вероятно, столкнулись с одной из трех проблем:
- Возможно, файл используется потому, что процесс запущен (убедитесь, что вы остановили все экземпляры w3wp.exe, запущенные в вашей системе, независимо от того, кто запустил процесс - например, путем остановки всех пулов приложений вручную).
- Возможно, у вас нет прав на редактирование файла, потому что вы не запустили командную строку VS "Как администратор".
- Возможно, у вас нет прав на редактирование файла, потому что он принадлежит "TrustedInstaller", и даже группа "Администраторы" не имеет доступа для записи. Если это так, то для изменения файла вам потребуется сменить владельца (например, http://helpdeskgeek.com/windows-7/windows-7-how-to-delete-files-protected-by-trustedinstaller/)
Мне пришлось разобраться со всеми этими тремя проблемами, чтобы реально изменить максимальный размер стека по умолчанию в IIS в Windows 7.
Но, как вы заметили, явное создание потока, как правило, будет более подходящей идеей, если вы МОЖЕТЕ сделать это, поскольку это позволит избежать накладных расходов на обслуживание сервера при ручном исправлении файла w3wp.exe каждый раз, когда обновление Windows изменяет его.