2017-01-18 3 views
1

Le processus de génération de Visual Studio 2015 ne trouve pas d'assemblys ajoutés au nouveau GAC (.NET 4.0).Pourquoi la version de Visual Studio 2015 ne trouve-t-elle pas d'assemblages ajoutés au nouveau GAC (.NET 4.0)?

L'ajout des ensembles était très bien, et ils apparaissent dans:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL 

Et les références semblent correctes au moment de la conception, mais lorsque je tente de le construire échoue comme si la référence est manquante.

Dans le cas où cela pourrait être lié au problème, je travaille avec des paquets de script SSIS - fichiers .dtsx.

REMARQUE: Le processus de construction trouve les assemblys que j'ai installés dans l'ancien GAC au moment de la construction, mais pas ceux du nouveau GAC!

Pourquoi cela est-il possible?

Répondre

0

Il suffit d'ajouter une référence, généralement le third-party .dll ne peut pas résoudre le problème, vous devez enregistrer le cache de l'assembly global manuellement. Voici les étapes:

Étape 1: Lancez le command prompt for VS avec l'administrateur

étape 2: changement de répertoire cd dans votre dossier de référence, qui est

cd C:\Windows\Microsoft.NET\assembly\GAC_MSIL 

étape 3: puis enregistrez l'ensemble par gacutil /i name of the dll.dll Étape 4: redémarrez votre studio visuel

+0

Merci @LONG mais les divers fichiers prêt à être installé dans le GAC. Et VS les trouve bien là-bas au moment de la conception, mais quand je construis il semble perdre ceux qui sont dans le nouveau GAC. – GP24

+0

Cela se produit lorsque vous essayez d'utiliser une DLL tierce, si vous essayez de télécharger n'importe quel gestionnaire de paquets Nuget, pour autant que je sache, il sera téléchargé dans le dossier temp du cache au moment de la conception, (je suppose que vous dites C# tâche de script), après que vous fermez et rouvrez la tâche, il disparaîtra, c'est probablement lié à l'étape 'register'. Même si vous avez copié et placé la DLL téléchargée dans votre propre dossier, vous ne pouvez pas laisser le package s'exécuter correctement avant de l'enregistrer dans GAC. – LONG

+0

Il ne s'agit en fait pas d'une DLL tierce, mais d'une DLL qui doit être dans le GAC pour des raisons qui ne sont pas importantes ici. Je l'ai installé là, et Visual Studio le trouve au moment du design, mais ne le trouve pas au moment de la construction. – GP24