У меня есть проект с использованием дозвуковых, которые я разработал в Visual Studio 2008 на диске C:. Нет проблем. Я только что обновился до Visual Studio 2010 (и по мере того, как мой компьютер случайно умер, теперь я запускаю Windows XP, виртуализованную с VirtualBox).
Проект запускается без жалобы на диск C:, но если я запустил его из G: (сопоставленный диск, который указывает на раздел на базовом ПК), я не могу запускать дозвуковые приложения пользовательских инструментов (ошибка, указанная ниже), ИЛИ запустить веб-приложение ( "начать без отладки" дает мне: не удалось запустить мониторинг изменений в "G:\GPNNT\GpnntApp\GpnntApp" ).
Это решение .net 3.5.
Казалось бы, это хорошо документированная и простая проблема. Я предпринял следующие действия:
(1) ФАЙЛ BATCH
c:
cd "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
caspol -all -reset
caspol -q -machine -addgroup 1 -url file:////g:\* FullTrust -name "G Drive"
caspol -q -machine -addgroup 1 -url g:\* FullTrust -name "G Drive 1"
c:
cd "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319"
caspol -all -reset
caspol -q -machine -addgroup 1 -url file:////g:\* FullTrust -name "G Drive"
caspol -q -machine -addgroup 1 -url g:\* FullTrust -name "G Drive"
pause
(Я пробовал использовать разные форматы url zillion, все безрезультатно)
(2) Утилита конфигурации .Net 2.0 (Панель управления > Инструменты администратора)
Используя инструмент анализа, обе настройки, сделанные в пакетном файле выше, применяются к файлам на диске.
Я также попытался настроить группу интрасети на FullTrust (что-то, чего я бы не хотел делать!). Нет разницы.
(3) loadFromRemoteSources
Разумно предположить, что, хотя сам проект использует только .NET 2, сам VS2010 может использовать .NET 4 внутренне. После еще нескольких поисковых запросов (например, здесь), я добавил
<runtime> <loadFromRemoteSources enabled="true"/> </runtime>
к файлам machine.config.net версий.
(4) Обновление до VS2010 SP1
Ни один из них не сделал разницу. Может ли кто-нибудь пролить свет на это, прежде чем мое кровяное давление достигнет опасно высоких уровней? Полагаю, я могу вернуться, чтобы запустить все с C:, но в этот век виртуализации это кажется немного смешным. Мне действительно нужны данные в другом месте для виртуальной машины.
Я отмечаю this Сообщение SO имеет ту же проблему и обвиняет тестовые проекты, что не является ужасно удовлетворительным. У меня также нет тестового проекта, хотя там могут быть ссылки на тесты, похороненные в DLL SubSonic где-то, я полагаю.
LAST MINUTE ADDITION: Я также замечаю, что SQL Server 2005/8 не будет разговаривать с G: (например, восстановить резервную копию оттуда), и предположить, что любое решение также позволит это возникнуть. Это было бы еще лучше.