Сохранение проектов Visual Studio на сетевом диске

Мы просто сделали переход от хранения всех файлов локально к сетевому диску. Проблема в том, что теперь мои проекты VS также хранятся. (Пока еще нет системы управления версиями). Я знаю, что слышал о проблемах с этим в прошлом, но никогда не слышал об этом. Есть ли работа вокруг?

Итак, мой VS установлен локально. Файлы находятся на сетевом диске. Как я могу заставить это работать?

EDIT: Я знаю, что ДОЛЖНО быть сделано, но есть ли полосовая помощь, которую я могу сейчас положить, чтобы исправить это и поддерживать сетевой диск?

EDIT 2: Я уверен, что я что-то не понимаю, но Боб Кинг имеет правильную идею. Я буду работать с ведущим веб-разработчиком, когда он вернется в офис, чтобы выяснить временное решение, пока не получится какая-то настройка контроля версий. Спасибо за идеи.

Ответ 1

В то время как мы используем Source Control, мы также запускаем все наши проекты из сетевых дисков (не общих каталогов, частных каталогов на сетевых дисках). Сетевые диски поддерживаются в ночное время, а также используют Volume Shadow Copy, поэтому, если вам нужно вернуться к чему-то, прежде чем он перейдет к SC, вы можете.

Чтобы проекты работали правильно с правильным разрешением, выполните эти шаги.

В принципе, вам нужно только нарисовать общий каталог на диске, а затем предоставить разрешение на основе этого URL для всего кода. Скажем, вы нарисуете "N: \", затем используйте "N:\*" в качестве шаблона Url. Не очевидно, что вам нужно подстановочный знак, но вы это делаете.

Ответ 2

Вопрос довольно общий, поэтому я дам ответ на один вопрос, с которым я столкнулся.

Я запускаю Visual Studio 2010 с помощью виртуальной машины Parallels на своем Mac, сохраняя все мои проекты на стороне mac через общий сетевой ресурс. Однако Visual Studio не загружала файлы сборки проектов. Попытка установить права с помощью "caspol" в моем случае не помогла.

Что, наконец, помогло мне разрешить Visual Studio загружать сборки из сетевого ресурса, было изменение файла "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config" (при условии установки по умолчанию).

в разделе xml "<runtime> " вы должны добавить

<loadFromRemoteSources enabled="true"/>

Возможно, вам придется изменить разрешения для этого файла, чтобы разрешить доступ на запись. Сохраните файл. Перезапустите Visual Studio.

Ответ 3

В интересах ответа на этот вопрос я скопировал этот комментарий с jcarle.com:

Доверенные сетевые ресурсы с Visual Studio 2010/.NET Framework v4.0

20 января 2011 года, 16:10 Если вы похожи на меня, и вы сохраняете весь свой код на сервере, вы наверняка узнаете о том, как доверять сетевой ресурс с помощью CasPol.exe. Однако при переходе с Visual Studio 2008 (.NET Framework 2.0/3.0/3.5) на Visual Studio 2010 (.NET Framework 4.0) вы можете почесать себе голову.

Если вы привыкли использовать командную строку Visual Studio для быстрого перехода к CasPol, вы можете обнаружить, что некоторые из ваших проектов, похоже, не будут уважать ваши новые настройки FullTrust. Причина в том, что, если вы внимательно не обратили внимание, Visual Studio Command Prompt по умолчанию добавляет папку .NET Framework 4.0 в свой путь. Если ваш проект по-прежнему работает в среде .NET Framework 2.0/3.0/3.5, для этих версий также потребуется установить CasPol. Просто примечание, у меня также был личный успех с использованием 1 в качестве группы кода вместо 1.2.

Чтобы доверять сетевому ресурсу для всех версий .NET Framework, просто вызовите CasPol для каждой версии, используя полный путь, как показано ниже:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol -m -ag 1 -url файл://YourSharePath * FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30319\CasPol -m -ag 1 -url файл://YourSharePath * FullTrust

Ответ 4

Я бы не рекомендовал делать это, если у вас есть (или даже если у вас нет) несколько человек, которые работают над проектами. Вы просто просите о неприятностях.

Если вы единственный, кто работает над этим, с другой стороны, вы избежите многих проблем. Однако производительность выходит из окна. Что касается того, как заставить его работать, вы просто открываете файл решения из VS. Вероятно, вы столкнетесь с проблемами безопасности, но можете исправить это с помощью CASPOL. Как я уже сказал, производительность будет ужасной. Опять же, не рекомендуется вообще.

Сделайте для себя и своей команды пользу и установите SVN или какую-либо другую систему управления исходным кодом и поместите код там как можно скорее.

EDIT: Я частично отниму свои комментарии. Боб Кинг объясняет, почему они запускают проекты VS с сетевого диска, и это имеет смысл. Я бы сказал, если вы не делаете это по определенной причине, такой как Боб, держитесь подальше от него. В противном случае, прежде чем настраивать такую ​​среду разработки, заведите утки подряд.

Ответ 5

Я понимаю, что это старый поток, но это был лучший поток, который я нашел, когда искал решение аналогичной проблемы. У меня была визуальная студия 2013 на виртуальной коробке (с использованием Win 8.1) и на коде на хост-машине (Win 7). Хотя я мог бы открыть решение, я не мог скомпилировать его. Все остальные ответы на это относятся к более старому программному обеспечению, поэтому я добавляю этот ответ, чтобы обновить этот часто встречающийся вопрос с помощью решения, которое сработало для меня.

Вот что я сделал; Создал запись реестра, чтобы иметь возможность использовать UNC-путь в качестве текущего каталога.

ПРЕДУПРЕЖДЕНИЕ. Неправильное использование редактора реестра может привести к серьезным общесистемным проблемам, которые могут потребовать переустановки Windows NT для их исправления. Microsoft не может гарантировать, что любые проблемы, возникающие в результате использования редактора реестра, могут быть решены. Используйте этот инструмент на свой страх и риск.

В разделе реестра:  HKEY_CURRENT_USER     \Программного обеспечения        \ Microsoft           \ Командный процессор

добавьте значение DisableUNCCheck REG_DWORD и установите значение 0 x 1 (Hex).

ПРЕДУПРЕЖДЕНИЕ. Если вы включите эту функцию и запустите консоль с текущим каталогом имени UNC, запустите приложения из этой консоли и закройте консоль, это может вызвать проблемы в приложениях, запущенных с этой консоли.

Нашел эту информацию по ссылке: http://support.microsoft.com/kb/156276

Ответ 6

Как насчет того, что мы перефразируем это в вопрос, на который каждый может ответить? У меня есть та же проблема, что и исходный плакат.

У меня есть копия VB 2008 (недавно обновлена ​​от VB6). Если я сохраню свои решения на резервном сетевом диске, тогда он не будет запускать ни одной вещи. Он дает ошибки "частично доверенного звонящего" для доступа к модулю, даже когда "allowpartiallytrustedcallers" устанавливается в сборке. Если я храню файлы на моем (не резервном) C:, тогда он будет работать чудесно, пока я не поместил его в общий диск для всех, и я вернусь к моей же проблеме.

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

-Edit: Я нашел проблему с тем, почему он игнорировал команду AllowPartialllyTrustedCallers. Я пытаюсь ссылаться на ADODB, который не позволяет частично доверять. Таким образом, никакой сетевой исполняемый файл не может получить доступ к базе данных? Что Microsoft имеет против интрасети в любом случае?

Ответ 7

Не делай этого. Если у вас есть контроль версий (управление версиями), вы не хотите, чтобы ваши файлы были на сетевом диске. Он полностью обходит все, чего вы хотите достичь, используя источник управления, потому что, как только ваши файлы находятся на сетевом диске, каждый может их изменить... даже когда вы в настоящее время строите свой проект. Ка-boooom!

PS: для меня это типичный случай чрезмерной инженерии.

Ответ 8

Есть ли у вас какие-либо конкретные проблемы?

Если вы разрешите нескольким лицам открыть решение, ваша первая проблема будет заключаться в том, что файл .NCB(Intellisense) будет заблокирован исключительно, и только один пользователь сможет просматривать дерево классов. И, конечно же, у вас есть потенциал для изменения одного пользователя, чтобы перезаписать другие изменения пользователя.

Ответ 9

Итак, у меня была аналогичная проблема. Visual Studio не распознает местоположение сети, которое я сопоставил для буквы диска для чего-либо. Самое забавное, что он работал целый день. Я создал свой проект и начал работать над ним и не имел никаких проблем. Затем я закрыл, а на следующий день ничего не получилось. Я не мог читать/писать файлы в коде, выводить мои исполняемые файлы или что-то еще. Мой проект локальный, но мой вывод должен был быть запущен в сети.

В любом случае проблема, вероятно, связана с контекстом администратора, но один из способов исправить ее, который я нашел во время копания в Интернете, - это заставить Visual Studio переходить к рассматриваемому диску каким-то образом. Есть много способов сделать это, но VS волшебным образом сможет распознать сопоставленные буквы дисков. Мое решение состоит в том, чтобы найти местоположение вывода Debug в свойствах проекта, щелкнуть поиск и перейти к моему ранее созданному местоположению вывода на моем сетевом диске и Voila!!!

Я хотел выразить это, потому что я потратил полдня, пытаясь понять это, и подумал, что это может спасти кого-то еще некоторое время. Спасибо большое и удачи!!!

Эрик

Ответ 10

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

Вопрос: NET 4.0, SVN-репо, папки проверки находятся на локальных дисках, сборные сборки создаются сервером сборки и доступны на сетевом диске. Visual studio на W7 может добавлять ссылку, но не может создавать проекты.

Решение: Поскольку NET 4.0 автоматически не предоставляет изолированную среду для сетевых сборок, вы должны сделать их полностью доверенными через обновление machine.config. http://msdn.microsoft.com/en-us/library/dd409252.aspx

Ответ 11

Работайте на своем локальном диске и установите AJC Active Backup. Это архивирует копию исходного кода (и любого другого типа файла, который вы выбираете) каждый раз, когда вы сохраняете, но архивы малы, потому что он сохраняет только изменения каждый раз. Active Backup также имеет встроенный diff, чтобы увидеть, что вы сделали, и позволяет вернуться к любому редактированию.

Подробнее здесь: AJC Active Backup

Ответ 12

Если вы правильно поняли, файлы проекта Visual Studio хранятся на сетевом диске, и вы запускаете их оттуда. Это то, что я делаю и не испытываю никаких проблем. Вам нужно будет убедиться, что вы установили политику безопасности. Вы можете использовать Caspol для этого или через меню инструментов панели управления-admin.

Ответ 13

Вам следует предупредить, что некоторая функция в Visual Studio откажется работать с сетевым диском.

Например, файл mdf экземпляра пользователя SQL Express должен находиться на локальном диске.

В другом примере, если вы используете UNC-путь, вы должны убедиться, что они достаточно короткие.

Ответ 14

Я нашел это полезным при попытке использовать vc11 с параллелями, которые запускаются на mac: http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/2ffdcb01-c511-4961-834b-afd5f2fbb8e1 и, в частности:

1) Вы можете переключиться с локальной отладки на удаленную отладку и установить имя машины как "localhost". Это сделает удаленное развертывание на вашем локальном компьютере (таким образом, не используя каталог проекта). Вам не нужно устанавливать инструменты удаленного отладчика и не запускать msvsmon, чтобы это работало на localhost.

Ответ 15

В случае, если это поможет кому-то еще, мне нужно было сделать шаги, описанные здесь здесь, чтобы добавить местоположение сетевого ресурса в зону интрасети Windows. В частности, у меня возникли проблемы с зависанием Visual Studio при загрузке решения на сетевом ресурсе (т.е. С помощью VMware Fusion и открытия решения с моего жесткого диска Mac). У меня также были проблемы с PostSharp, работающими в этом сценарии.

Ответ 16

"Как я могу заставить это работать?" У вас есть несколько вариантов:

Выбор A: 1. Переместите все файлы обратно на локальный жесткий диск. 2. Внедрение определенного типа программного обеспечения для резервного копирования на вашем компьютере 3. Протестируйте указанное решение для резервного копирования 4. продолжайте кодирование

Выбор B: 1. Получите копию одного из БЕСПЛАТНЫХ продуктов для управления версиями и реализуйте их. 2. Убедитесь, что он был скопирован 3. Протестируйте его

Выбор C: Используйте один из многих доступных хранилищ управления версиями ONLINE. Google, SourceForge, CodePlex, что-то.

Ответ 17

Хорошо, мой вопрос будет, почему вы спрашиваете об этом. Разве это не работает, когда вы храните его на сетевом диске? Я не пробовал это сам, и одна из проблем, которые я мог себе представить, - это то, что .NET-код, запущенный с сетевого диска (т.е. Из каталога bin\Debug, также расположенного на сетевом диске), будет работать в режиме песочницы, если вы не обходитесь с CASPOL (или используйте 3.5 SP1, который, как я слышал, удалил это препятствие).

Если у вас есть конкретные проблемы, спросите о них. Никогда не спрашивайте: "Почему X не работает?".

Вы не говорите, что вы только один человек или несколько человек, обращающихся к одному удаленному диску, но я предполагаю, что вы всего лишь один для каждого сетевого каталога. Это верно? Если нет, нет, нет полосовой помощи. Получите контроль версий, переместите файлы на локальный диск.