2010-06-09 4 views
7

Недавно я получил новый Mac-ноутбук и запускаю VS2010 на виртуальной машине Parallels. В основном это хорошо работает для меня, но у меня возникают проблемы с отладкой определенных типов проектов, связанных с тем, что к проектам обращаются через общий сетевой ресурс. Проекты тестирования не запускаются, потому что тестовый бегун не может загрузить DLL тестов. Веб-проекты не работать в Visual Studio мини-веб-сервер, метание следующее исключение:Как отлаживать решения в Visual Studio 2010 из сетевого ресурса?

'An error occurred loading a configuration file: Failed to start monitoring changes to path\to\web.config'.

Я провел вечер траления в Интернете с небольшим количеством удачи на этом. Прочитав thesetwo сообщений, я опробовал обычные изменения CasPol, но затем нашел this post из одной из ранних бета-версий VS2010, указав, что CasPol больше не требуется/поддерживается в .NET 4.0 и VS2010.

Доступ к сети доступен как с помощью сопоставленного диска, так и по пути UNC. Хост для UNC-пути: .pfs; согласно this post Windows обрабатывает имена хостов, начиная с точки, исходящей из интернет-зоны.

Виртуальная машина запускает свои приложения под учетной записью администратора, которая, как представляется, имеет все необходимые разрешения для общего доступа к сети для создания, чтения, записи и удаления файлов и папок. Я говорю «похоже, что есть», поскольку я не могу просмотреть свойства безопасности соответствующей папки через Explorer: вкладки «Безопасность» просто нет.

Неужели кому-то удалось успешно загружать и отлаживать веб-сайты и тестировать проекты из общего ресурса сети в VS2010?

ОБНОВЛЕНИЕ: Я попытался загрузить решения в VS2010 на отдельной собственной машине Windows с использованием IP-адреса моего MacBook со смешанными результатами. Тестовый проект снова не удалось запустить с ошибкой:

Error loading \\192.168.0.4\alastair\Code\project\bin\Debug\Tests.dll: Could not load file or assembly 'file://\\192.168.0.4\alastair\Code\project\bin\Debug\Tests.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

Однако проект ASP.NET MVC правильно работает, как ожидается, в этом месте, и я получаю те же результаты здесь, если я использую имя NETBIOS MacBook.

Конечно, для этого мне пришлось включить совместное использование SMB в Snow Leopard, которое не требовалось для доступа к местоположению в моей Parallels VM. Может быть, в Parallels есть какая-то настройка, которую мне нужно настроить для изменения прав доступа к этому ресурсу?

Я также отметил этот вопрос для модераторов, чтобы он был перемещен в StackOverflow; Я думаю, что это может быть более подходящий форум, чем SuperUser.

+0

@alastairs: извините, я увидел флаг до моего ответа, но не понял, что флаг был от OP. мигрируя в ближайшее время. –

+0

Вы решили свою проблему? У меня такая же проблема. thx – ema

+0

Исправление devenv.exe.config в принятом ответе ниже, похоже, решило проблему. Спасибо @ Daniel Plaisted! – alastairs

ответ

3

Try установки <loadFromRemoteSources enabled="true"/> под выполнения элемента devenv.exe.config, как это было предложено в ответ на this question. Это устранило проблему для меня ... Visual Studio по-прежнему предупреждает меня при загрузке проекта из общего ресурса, но текущие тесты теперь работают.

+0

О, это звучит интересно! Спасибо за подсказку, я обязательно проверю это, когда вернусь домой! – alastairs

+2

Это сработало для меня. Но у меня были некоторые серьезные проблемы, чтобы иметь возможность редактировать файл devenv.exe.config ... Доступ запретил мне. Мое обходное решение заключалось в том, чтобы открыть Notepad.exe «как администратор», после чего я смог отредактировать файл и заставить его работать –

0

Это предполагает, что проблема действительно связана с Windows «обрабатывать имена хостов, начиная с точки, исходящей из интернет-зоны». Это может быть что-то другое, но вариант (3) ниже должен быть быстрым способом (dis) доказать это как часть проблемы.


Период (.) не является часто используемый символ в DNS имени хоста; его обычно интерпретируют как разделитель между именем хоста и именем домена (например, localhost.localdomain). DNS-имена хостов обычно ограничиваются «LDH» - буквами, цифрами и дефисами.

Имена UNC-путей и Windows Networking (NetBIOS) могут иметь сходные проблемы.Согласно RFC3696, периоды являются законными, но вам нужно избегать периодов, используемых в имени хоста в соответствии с RFC1035. Если я правильно читаю RFC1035, ваше имя хоста должно быть \.pfs вместо .pfs.

Я бы интересно, если ваши вопросы будут работать нормально, если вы

  1. изменил имя хоста (на сервере пай) к чему-то не включая точку (и обновленный клиент соответственно),
  2. изменил путь UNC на общий ресурс (на клиенте), чтобы использовать правильную escape-последовательность для периодов, или
  3. изменил путь UNC на общий ресурс (на клиенте), чтобы использовать IP-адрес вместо имени хоста.
+0

Спасибо за ответ. Я обновил свой вопрос своим ответом, который был немного длинным для комментария! – alastairs

Смежные вопросы