Проект Silverlight не работает в VS2010, когда проект находится на подключенном сетевом диске

Я просто изучаю Blend/Silverlight/VS2010/.net/и т.д. У меня есть простой проект, который находится на сетевом диске. Когда я говорю VS2010 о перестройке проекта, я получаю следующее сообщение об ошибке:

------ Rebuild All started: Project: MySilverlightApplication, Configuration: Debug Any CPU ------
  MySilverlightApplication -> H:\PRJ\VisualStudio\ExpressionBlend\Unleashed\MySilverLightApplication\MySilverlightApplication\Bin\Debug\MySilverlightApplication.dll

C:\Program Files\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.Common.targets(214,9):
 error : Could not load the assembly 
         file:///H:\PRJ\VisualStudio\ExpressionBlend\Unleashed\MySilverLightApplication\MySilverlightApplication\obj\Debug\MySilverlightApplication.dll.
         This assembly may have been downloaded from the Web.  If an assembly has been downloaded from the Web,
         it is flagged by Windows as being a Web file, even if it resides on the local computer.
         This may prevent it from being used in your project. You can change this designation by changing the file properties.
         Only unblock assemblies that you trust. See http://go.microsoft.com/fwlink/?LinkId=179545 for more information.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Проект не был загружен из Интернета (я создал его с помощью Blend.) После выполнения некоторого поиска я предположил, что проблема может быть связана с настройками безопасности .net. Я выпустил следующую команду:

C:\Program Files\Microsoft Visual Studio 10.0\VC>caspol -m -ag 1.3 -url "file://\\p4dc\h$\*" FullTrust

в надежде, что это решит проблему. p4dc - это имя серверной машины, h $- административный ресурс для h: диска на сервере, который, в свою очередь, отображается на букву "H" на локальном компьютере (\\ p4dc\h $сопоставляется с H в локальной машине).

Это не решило проблему. Я не знаю, правильна ли моя команда caspol (я не планировал изучать caspol на лету), это просто казалось разумной попыткой попробовать. Проблема уходит, когда я делаю копию всего проекта на локальном диске C, но это "решение" довольно нежелательно.

На этом этапе я действительно не знаю, что еще можно попытаться решить проблему, не перемещая проект на локальный диск.

Любая помощь, ведущая к решению, очень ценится.

Джон.

Ответ 1

Сообщение об ошибке, отображаемое VS2010, приведет к тому, что кто-то поверят, что проблема связана с доверием и безопасностью, и это БОЛЬШЕ, но никакая вероятность полного доверия к сетевому диску не решит проблему.

Что привело к решению, было сначала перенести проект на VS2008, чтобы выяснить, будет ли он сталкиваться с той же проблемой. VS2008 был совершенно счастлив запустить проект без жалоб.

Затем я преобразовал проект VS2008 (который работал) в VS2010. VS2010 отказался строить проект, но на этот раз сообщение об ошибке было иным, ссылаясь на "удаленные сборки" и на ссылку на MSDN, что привело к решению.

Реальная проблема заключается в том, что VS2010 считает сборку на сетевом диске "удаленной сборкой" (так же, как если бы сборка загружалась с веб-сайта). Caspol не смог решить эту проблему (похоже, она должна но, возможно, это моя вина, я не очень разбираюсь в использовании Caspol).

Чтобы завершить эту длинную историю, ссылка, содержащаяся в сообщении об ошибке:

http://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx

после выполнения инструкций в этой ссылке для редактирования "machine.config", я изменил <runtime/> на:

<runtime>
  <loadFromRemoteSources enabled="true"/>
</runtime>

проект построен успешно и работает без сбоев.

Спасибо Элисон и CodeNaked за их усилия помочь,

Джон.

PS: было бы неплохо, если бы VS2010 отображал сообщение "лучше" об ошибке. Вместо этого мне пришлось подключить VS2010 нерабочий проект к VS2008, где он работал, и тот, который был VS2010, где я получил лучшее сообщение об ошибке, которое привело к решению.