#.net #vb.net #visual-studio #visual-studio-2010
#.net #vb.net #visual-studio #visual-studio-2010
Вопрос:
Я запускаю Visual Studio 2010 на сервере терминалов, и в течение некоторого времени у меня было относительно мало проблем. Сегодня утром я запустил свой компьютер, и в течение долгих выходных в Великобритании, похоже, возникла следующая проблема.
У меня есть куча проектов (но не все мои проекты и не все проекты в данном решении), жалующихся на то, что определенный файл (которого не существует на компьютере) не может быть открыт, и поэтому эти проекты больше не будут компилироваться. Вот ошибка:
Error 31 Unable to open module file
'C:Users[username]AppDataLocalTemp2.NETFramework,Version=v4.0.AssemblyAttributes.vb':
System Error amp;H80070003amp;
Я мог бы просто скопировать файл в этот каталог и покончить с этим, я почти уверен, что это сработает, но я был бы признателен за любую информацию, которую кто-либо может дать мне о том, почему возникла эта проблема, и что я могу сделать, чтобы избежать ее возникновения в будущем.
РЕДАКТИРОВАТЬ: Хорошо, теперь все вышло на совершенно новый уровень странности. Я перезагрузил сервер, я получаю то же сообщение об ошибке, только теперь файл, который он запрашивает, существует и может быть открыт в Visual Studio без проблем.
И все же другая часть IDE по-прежнему настаивает на том, что ей не удается открыть файл модуля…
ПРАВКА 2: Не удается удалить файл, поскольку он утверждает, что открыт в другой программе, но я вышел из системы и снова вошел в систему, и к нему не должно быть никакого доступа.
ПРАВКА 3: Поскольку под его ответом есть стена комментариев, я упомяну здесь, что предложение Джареда удалить файл SUO для решений, вызывающих проблему (как ни странно, не файлы, конкретно связанные с каким-либо из проблемных проектов), в конечном итоге решило эту проблему.
Комментарии:
1. Это странное чувство — обнаружить глупую проблему с Visual Studio, быть уверенным, что вы слышали об этом раньше, и вернуться в Google к своему собственному сообщению stackoverflow 18-месячной давности. Та же проблема, то же решение, более года спустя.
Ответ №1:
Если вы убедились, что файл не существует, и все еще получаете это сообщение, наиболее вероятный ответ заключается в том, что разрешения в этом каталоге не позволяют вашей учетной записи пользователя выполнять запись в них. Попробуйте создать файл в этом каталоге и посмотрите, удастся ли это. Если это не так, то вы знаете, что это проблема, и вам нужно будет исправить разрешения
Из «Редактировать 3» выше и комментариев ниже: решением этой проблемы было удаление *.SUO
файла с диска и повторное открытие решения.
Комментарии:
1. Извините, я думаю, я был не совсем ясен. Проблемный каталог — это временная папка в моем собственном каталоге пользователя. У меня есть доступ для чтения / записи там. На самом деле также есть каталог 3 в Temp (вопрос касается каталога 2 ), и каталог 3 содержит отсутствующий файл. Просто все это не имеет никакого отношения к моему коду или чему-либо, что я сделал намеренно, это проблема IDE. Я не играю с C:Users вообще нигде в коде…
2. @Frosty840 вы подтвердили, что действительно можете создать файл в этом каталоге?
3. @Frosty840 это очень странно. Пара стандартных вопросов. Вы пробовали перезапустить Visual Studio и / или компьютер? Я понимаю, что это сеанс TS, поэтому вы пробовали полностью выйти из системы?
4. Боюсь, что да для всех из них. Я мог бы попробовать перезагрузить сервер (ну, виртуальный сервер. Моему боссу действительно нравится идея виртуализации сервера, но это заставляет меня чувствовать себя довольно взволнованным и беспомощным, тбх) позже вечером, после того, как другие разработчики уйдут домой, я думаю.
5. @Frosty, на данный момент я хватаюсь за соломинку. Моим следующим шагом было бы удалить файл .suo, все файлы proj.user и, возможно, даже стереть кэшированные данные visual Studio в AppData Local и Roaming.
Ответ №2:
Это проблема, вызванная подключениями к удаленному рабочему столу. RDC (по умолчанию) настроен на использование создания нового каталога при каждом удаленном входе в систему. Кроме того, это настройка (отдельная настройка) для удаления этого каталога после выхода из системы. Реальное решение — удалить эти два параметра, чтобы он просто использовал вашу стандартную временную папку, не удаляя файлы при выходе из системы.
Также есть два обходных пути к этой проблеме:
- Как упоминалось в другом месте, удалите свой файл .suo для решения, прежде чем открывать решение или перестраивать.
- Используйте опцию «Перестроить все» при перестройке. (Иногда это работает.)
Примечание: Настройка RDC действительно может быть выполнена, только если вы вошли в систему как администратор на box, таким образом, два обходных пути.
Комментарии:
1. У меня была такая же ошибка после удаленного подключения к моему компьютеру, а затем локального входа в систему. Удаление .suo исправило это.
2. Вот ссылка на настройку временных папок удаленного рабочего стола: technet.microsoft.com/en-us/library/cc755098.aspx
3. Это … именно то, что я сказал. Однако, как я также сказал, реальная проблема заключается в проблеме с удаленным рабочим столом. Устраните проблему с удаленным рабочим столом, и вам не придется иметь дело с недопустимым указателем в файле .suo.
4. Спасибо, Ричард, я просто добавил веса вашему ответу для всех, кто идет по тому же пути.
Ответ №3:
Обновление 17.02.2015: Сегодня утром снова возникла та же проблема с первым приложением, которое я открыл в VS2012. Простое решение для сборки / перестроения решило проблему. В других приложениях, открытых этим утром, проблемы не было.
Решение для сборки / перестроения решило проблему.
Однако, когда я пришел сегодня утром, у меня была та же проблема, что и выше; Windows 7 сообщала, что мне необходимо перезагрузиться после второй (автоматической) попытки установить исправление. Поэтому я закрыл все и перезапустил.
Загрузил один из моих проектов, и он отобразил то же сообщение. Итак, я загрузил второй проект в новом сеансе Visual Studio, и у него было то же сообщение об ошибке.
Перешел к первому проекту и попытался запустить решение для сборки / перестроения. Это было выполнено успешно и устранило проблему для обоих проектов.
Использование Visual Studio 2012 Enterprise Edition.