Garder les projets Visual Studio sur un lecteur réseau
nous venons de faire un mouvement de stocker tous les fichiers localement vers un lecteur réseau. Le problème est que c'est là que mes projets VS sont aussi stockés maintenant. (Pas encore de système de versioning, on travaille là-dessus. Je sais que j'ai entendu parler de problèmes à faire cela dans le passé, mais je n'ai jamais entendu parler d'une solution de rechange. Est-il un travail?
donc mon VS est installé localement. Les fichiers sont sur un disque réseau. Comment puis-je obtenir que cela fonctionne?
EDIT: je sais ce qui doit être fait, mais est-il un pansement que je peux mettre maintenant pour réparer ça et entretenir le réseau?
EDIT 2: je suis sûr que je ne suis pas à comprendre quelque chose, mais Bob King a la bonne idée. Je travaillerai avec le développeur web principal quand il reviendra au bureau pour trouver une solution temporaire jusqu'à ce que nous obtenions une sorte de configuration de contrôle de version. Merci pour les idées.
18 réponses
bien que nous utilisions le contrôle Source, nous exécutons aussi tous nos projets à partir de disques Réseau (Pas de répertoires partagés, de répertoires privés sur les disques réseau). Les disques réseau sont sauvegardés tous les soirs, et utilisent également la copie D'ombre de Volume, donc si vous avez besoin de revenir à quelque chose avant il a fait son chemin à SC, alors vous pouvez.
pour faire fonctionner correctement les projets avec la bonne permission, suivez ces étapes .
fondamentalement, vous avez juste à mapper le répertoire partagé à un lecteur, et puis accorder la permission, basée sur cette Url, à tout le code. Dites que vous mappez à "N:\", puis utilisez "N:\*" comme votre modèle D'Url. Il n'est pas évident que vous devez générique, mais vous ne.
la question est assez générique donc je vais donner une réponse à une question à laquelle je faisais face.
J'exécute Visual Studio 2010 en utilisant une machine virtuelle Parallels sur mon Mac tout en gardant tous mes projets du côté mac via un réseau partagé. Visual Studio n'a toutefois pas voulu charger les fichiers d'assemblage de projets à partir de là. Essayer de définir les droits en utilisant "caspol" seul n'a pas aidé dans mon cas.
ce qui a finalement fonctionné pour moi pour permettre à Visual Studio de charger assemblées à partir d'un partage de réseau était de modifier le fichier "C:\Program fichiers (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.EXE.config" (en supposant une installation par défaut).
dans la section xml "
<loadFromRemoteSources enabled="true"/>
vous pourriez avoir à modifier les permissions sur ce fichier pour permettre l'accès en écriture. Enregistrez le fichier. Redémarrez Visual Studio.
dans l'intérêt de répondre réellement à la question, j'ai copié ce commentaire de jcarle.com:
partage de réseau de confiance avec Visual Studio 2010 / .net Framework v4.0
le 20 janvier 2011, 4:10 pm Si vous êtes comme moi et que vous stockez tout votre code sur un serveur, vous aurez probablement appris à faire confiance à un partage de réseau en utilisant CasPol.EXE. Cependant, lorsque vous quittez Visual Studio 2008 (.net Framework 2.0/3.0/3.5) sur Visual Studio 2010 (.net Framework 4.0), vous pouvez vous retrouver à vous gratter la tête.
si vous êtes habitué à utiliser L'invite Visual Studio Command pour accéder rapidement à CasPol, vous constaterez peut-être que certains de vos projets ne respecteront pas vos nouveaux paramètres de pleine confiance. La raison en est que, à moins que vous ne prêtiez attention, la commande Visual Studio Invite par défaut à ajouter le dossier .net Framework 4.0 à son chemin. Si votre projet est toujours en cours d'exécution dans le cadre de .NET 2.0/3.0/3.5, il il faudra aussi configurer CasPol pour ces versions. Juste une note, j'ai aussi personnellement eu plus de succès avec l'utilisation de 1 comme groupe de code au lieu de 1.2.
pour faire confiance à un partage de réseau pour toutes les versions du Framework .NET, il suffit d'appeler CasPol pour chaque version en utilisant le chemin complet comme ci-dessous:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol -m-ag 1-url file: / / YourSharePath* FullTrust
C:\Windows\Microsoft.NET\Framework\v4.0.30319\CasPol -m-ag 1-url file: / / YourSharePath* FullTrust
je ne recommanderais pas si vous avez (ou même si vous n'avez pas) plusieurs personnes qui travaillent sur les projets. Tu cherches juste les ennuis.
si vous êtes le seul à y travailler, d'un autre côté, vous éviterez beaucoup de problèmes. La Performance va sortir par la fenêtre. En ce qui concerne la façon de le faire fonctionner, il vous suffit d'ouvrir le fichier solution à partir de VS. Vous allez probablement rencontrer des problèmes de sécurité, mais vous pouvez corriger cela en utilisant CASPOL. Comme je l'ai dit, mais la performance va être terrible. Encore une fois, pas recommandé du tout.
faites-vous et votre équipe une faveur et installez SVN ou une autre forme de contrôle des sources et mettez le code là-dedans dès que possible.
EDIT: je vais partiellement rétracter mes commentaires. Bob King explique ci-dessous la raison pour laquelle ils dirigent des projets VS à partir d'un lecteur réseau et cela a du sens. Je dirais qu'à moins que tu le fasses pour une raison précise comme Bob, ne t'en approche pas. Autrement, obtenez votre canards dans une rangée avant de mettre en place un tel environnement de développement.
je comprends qu'il s'agit d'un fil plus ancien, mais c'était le meilleur fil que j'ai trouvé en cherchant à résoudre un problème similaire, j'ai eu visual studio 2013 sur une boîte virtuelle (en utilisant Win 8.1) et le code sur la machine hôte (Win 7). Même si je pouvais ouvrir la solution, je ne pouvais pas compiler. Toutes les autres réponses à cette question se rapportent à des logiciels plus anciens, donc j'ajoute cette réponse pour mettre à jour cette question fréquemment trouvée avec la solution qui a fonctionné pour moi.
voici ce que j'ai fait; Fait une entrée de Registre pour être en mesure d'utiliser un chemin UNC comme le répertoire courant.
avertissement: L'utilisation incorrecte de Editeur du Registre peut causer des problèmes graves, dans l'ensemble du système, qui peuvent vous obliger à réinstaller Windows NT pour les corriger. Microsoft ne peut pas garantir que tous les problèmes résultant de l'utilisation de L'Éditeur du Registre peuvent être résolus. Utilisez cet outil à vos risques et périls.
sous le chemin d'enregistrement: HKEY_CURRENT_USER \Logiciel \Microsoft \ Commande Processeur
ajoute la valeur Disablunccheck REG_DWORD et fixe la valeur à 0 x 1 (Hex).
AVERTISSEMENT: Si vous activez cette fonction et de commencer une Console qui a un répertoire d'un nom UNC, lancer des applications à partir de la Console, puis fermez la Console, il pourrait causer des problèmes dans les applications de la Console.
trouvé cette information à lien: http://support.microsoft.com/kb/156276
pourquoi ne pas reformuler ceci en une question à laquelle tout le monde peut répondre? J'ai exactement le même problème que la première affiche.
j'ai une copie de VB 2008 (récemment mis à jour à partir de VB6). Si je stocke mes solutions sur le lecteur réseau sauvegardé, alors il ne fonctionnera pas une seule chose jamais. Il fournit des erreurs " appelant partiellement fiable "pour accéder à un module, même lorsque" allowpartially trustedcallers " est défini dans l'assemblage. Si je stocke les fichiers sur mon (non sauvegardé) C:, puis il fonctionnera merveilleusement, jusqu'à ce que je le mette sur le lecteur de part pour tout le monde d'utiliser, et je suis de nouveau à mon même problème.
ce n'est pas une grande demande. Je veux juste être en mesure de mettre une solution et exécutable sur le lecteur de partage et l'exécuter sans une quantité absurde de non-sens sur la sécurité. Je ne devrais pas avoir à rassembler tout mon travail dans des dossiers.
- Edit: j'ai trouvé le problème avec la raison pour laquelle il ignorait la commande AllowPartiallyTrustedCallers. Je suis en train de référence ADODB, qui ne permet pas partiellement de confiance. Donc, aucun exécutable réseau ne peut accéder à une base de données? Qu'est-ce que Microsoft a contre les intranets de toute façon?
ne faites pas ça. Si vous avez le contrôle des sources (versioning), vous ne voulez pas vos fichiers sur un lecteur réseau. Il contourne totalement Tout ce que vous voulez réaliser en utilisant le contrôle source, parce qu'une fois vos fichiers sur un lecteur réseau, n'importe qui peut les modifier .... même pendant que vous construisez votre projet. Ka-boooom!
PS: cela ressemble à un cas typique de sur-ingénierie pour moi.
avez-vous des problèmes particuliers?
si vous permettez à plus d'une personne d'ouvrir la solution, votre premier problème sera que le .Le fichier NCB (Intellisense) sera verrouillé exclusivement et un seul utilisateur pourra parcourir l'arborescence des classes. Et bien sûr, vous avez la possibilité que les changements d'un utilisateur écrasent les changements de l'autre utilisateur.
donc j'avais un problème similaire. Visual Studio ne reconnaîtrait pas un emplacement réseau que j'ai cartographié pour une lettre de lecteur pour quoi que ce soit. Le plus drôle, c'est que ça a marché pendant une journée. J'ai mis en place mon projet et j'ai commencé à travailler dessus et n'avais aucun problème. Ensuite, j'ai arrêté, et le lendemain, rien ne fonctionne. Je ne pouvais pas lire/écrire des fichiers en code, sortir mes exécutables ou quoi que ce soit. Mon projet est local mais ma Production était destinée à être jetée sur le réseau.
de toute façon, le le problème est probablement sur le contexte administrateur, mais une façon de le corriger que j'ai trouvé en fouillant autour en ligne est D'obtenir Visual Studio pour parcourir le lecteur en question certains comment. Il y a beaucoup de façons de le faire, mais VS sera magiquement capable de reconnaître les lettres de lecteur mappées. Ma solution est d'aller à L'emplacement de la sortie de débogage dans les propriétés du projet, cliquez sur Parcourir et aller à mon emplacement de sortie précédemment fait sur mon lecteur réseau et Voila!!!
je voulais j'ai passé une demi-journée à essayer de comprendre et j'ai pensé que ça pourrait faire gagner du temps à quelqu'un d'autre. Merci beaucoup et bonne chance!!!
Erik
je faisais face à la même question tout récemment de sorte que cette réponse est plus pour le bien de garder la trace de ma propre connaissance. Quoi qu'il en soit, si quelqu'un le trouve utile, voici la question et la solution.
Issue: NET 4.0 projects, SVN repo, les dossiers checkout sont sur les disques locaux, les assemblages référencés sont construits par le serveur de construction et disponibles sur un lecteur réseau. Visual studio sur W7 est capable d'ajouter la référence mais incapable de construire des projets.
Solution: Comme NET 4.0 ne fournit plus automatiquement de bac à sable pour les assemblages de réseaux, vous devez faire confiance à ces machines.config mise à jour. http://msdn.microsoft.com/en-us/library/dd409252.aspx
travailler sur votre disque local et installer AJC Active Backup. Cette archive une copie de votre code source (et tout autre fichier de type que vous choisissez) chaque fois que vous enregistrez, mais les archives sont petites parce qu'il stocke seulement les changements à chaque fois. Active Backup a aussi intégré diff pour voir ce que vous avez fait et vous permet de revenir à n'importe quelle édition.
lire la suite ici: AJC Sauvegarde Active
si je vous comprends bien, vos fichiers de projet Visual Studio sont stockés sur le lecteur réseau et vous les exécutez à partir de là. C'est ce que je fais et je n'ai aucun problème. Vous devrez vous assurer que vous avez défini la politique de sécurité. Vous pouvez utiliser Caspol pour cela, ou via le menu Panneau de configuration-Outils admin.
vous devez être averti que certaines fonctionnalités de Visual Studio refuseront de fonctionner avec network drive.
par exemple, le fichier mdf de L'instance de L'utilisateur SQL Express doit être situé dans le lecteur local.
pour un autre exemple, si vous utilisez UNC path, vous devez vous assurer qu'ils sont courts enought.
j'ai trouvé cela utile tout en essayant d'utiliser vc11 avec des parallèles qui fonctionnent sur mac: http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/2ffdcb01-c511-4961-834b-afd5f2fbb8e1 , et plus précisément:
1) vous pouvez passer du débogage local au débogage à distance et définir le nom de la machine comme "localhost". Cela permettra un déploiement à distance sur votre machine locale (donc sans utiliser le répertoire du projet). Vous n'avez pas besoin pour installer les outils de débogage à distance, ni démarrer msvsmon pour que cela fonctionne sur localhost.
dans le cas où cela aide quelqu'un d'autre, j'ai dû faire les étapes décrites ici pour ajouter l'emplacement de partage de réseau à la zone intranet de Windows. En particulier, J'avais des problèmes avec Visual Studio accroché à la charge lors de l'ouverture d'une solution sur un partage de réseau (c'est-à-dire en utilisant VMware Fusion et en ouvrant une solution à partir du disque dur de mon Mac). J'ai aussi eu des problèmes avec PostSharp dans ce scénario.
j'ai eu un problème similaire avec l'ouverture de projets Visual Studio sur un lecteur réseau, et je l'ai corrigé en créant un lien symbolique sur mon lecteur C:\ local qui pointe vers le répertoire UNC
p.ex.
mklink /D "C:\Users\Self\Documents" "\domain.net\users\self\My Documents"
alors vous pouvez simplement ouvrir le projet en utilisant le C:\Users\Self\Documents\ path, au lieu du UNC path
(vous devez être prudent, car Visual Studio vous redirigera automatiquement vers le ' \\domain.net.." chemin si vous double-cliquez le lien symbolique lorsque vous naviguez pour le projet. J'ai dû copier-coller 'C:\Users\' chemin pour arriver à l'ouvrir avec le chemin de lettre de lecteur)
"Comment puis-je obtenir que cela fonctionne?" Vous avez le choix:
Choix A: 1. Déplacer tous les fichiers sur votre disque dur local 2. Implémenter un type de logiciel de sauvegarde sur votre machine 3. Tester la solution de secours 4. conserver le code
Choix B: 1. Obtenez une copie de l'un des produits de contrôle à source libre et mettez-le en œuvre. 2. Assurez-vous qu'il est en cours de sauvegarde 3. Test it
Choix C: Utilisez l'un des nombreux contrôles à la source en ligne référentiels disponibles. Google, SourceForge, CodePlex, quelque chose.
Eh bien, ma question serait pourquoi vous demandez cela. Ne fonctionne-t-il pas lorsque vous le stockez sur un lecteur réseau? Je n'ai pas essayé cela moi-même, et un problème que je pourrais imaginer serait que .NET code courant à partir d'un lecteur réseau (c.-à-d. à partir du répertoire bin\Debug, également situé sur le lecteur réseau) fonctionnerait en mode bac à sable, à moins que vous ne fassiez le tour de CASPOL (ou que vous utilisiez 3.5 SP1 qui, d'après ce que j'ai entendu, a éliminé cet obstacle).
Si vous avez des problèmes spécifiques, demandez à leur sujet. Ne demandez jamais " Pourquoi faire X ne fonctionne pas?".
vous ne dites pas si vous êtes juste une personne ou plusieurs personnes accédant au même lecteur distant, mais je suppose que vous êtes juste un pour chaque répertoire réseau. Est-ce correct? Si non, non, il n'y a pas de band-aid. Obtenir le contrôle de version, déplacer les fichiers de nouveau sur un disque local.