Microsoft.CodeAnalysis version utilisée: 2.3.2Impossible de charger le fichier ou d'assemblage « Microsoft.CodeAnalysis.Workspaces, Version = 2.3.0.0 dans le projet VSIX
Procédure pour reproduire:
Créer un VSIX (C#) projet dans Visual studio 2015 Mise à jour 3 avec framework .Net 4.6 Ajouter dernière bibliothèque à Microsoft.CodeAnalysis VSIX projet Ajouter commande au projet VSIX Ajouter le code suivant dans l'action de commande de menu
string projectFilePath = @"C:\ConsoleApp1\ConsoleApp1.csproj";
string outputFilePath = @"C:\ConsoleApp1\ConsoleApp1.dll";
Project project = null;
using (var workspace = MSBuildWorkspace.Create())
{
project = workspace.OpenProjectAsync(projectFilePath).Result;
var compilation = project.GetCompilationAsync().Result;
var compilationStatus = compilation.Emit(outputFilePath);
bool isSuccess = compilationStatus.Success;
}
Comportement attendu: Roslyn devrait être capable de compiler le projet et d'émettre une sortie vers l'emplacement cible.
Comportement réel: L'exception suivante s'est produite lors de l'appel de la commande.
Impossible de charger le fichier ou l'assemblage 'Microsoft.CodeAnalysis.Workspaces, version = 2.3.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Note: erreur ne se produit pas et commande exécute avec succès lorsque la version du Microsoft.CodeAnalysis est rétrogradé à 1.3.2
S'il vous plaît laissez-moi savoir si un correctif est disponible pour cette question.
Merci Jonathan Marlof, Selon votre post, Roslyn n'est pas rétrocompatible, ce qui signifie que mon extension ne fonctionnera pas dans VS 2015 Update 3 si je mise à niveau au plus tard. Connaissez-vous une solution pour la rendre compatible avec VS 2015 Update 3 et VS 2017 Update 3? – Bandara
Si vous faites référence à la version 1.3.2, votre extension fonctionnera sur les deux. –
Merci @Jonathon, j'ai rétrogradé à 1.0.0, maintenant il fonctionne en 2015 Update 3 et 2017 Update 3, en espérant qu'il fonctionnera dans toutes les versions supérieures à Visual Studio 2015.0 (RTM) – Bandara