MSBuildWorkspace.Create() lance l'exception
J'ai Visual Studio 2013. J'ai aussi installé MSBuild Tools 2013. Le code suivant me donne exception
var workspace=MSBuildWorkspace.Create();
Voici l'exception
ne pouvait pas charger le fichier ou l'assemblage 'Microsoft.Build, Version = 14.0.0.0, Culture=neutre, Publiceytoken = b03f5f7f11d50a3a' ou l'un de ses dépendance. Le système ne peut pas trouver le fichier spécifié.
Qu'est-ce que je fais de mal ?
2 réponses
Vous devez installer le BuildTools for Visual Studio 2015.
Vous pouvez compiler Roslyn contre une ancienne version de MSBuild pour éviter ce problème. Je l'ai fait avec VS 2012:
Src/Workspaces/Core/Workspaces.csproj
- <Reference Include="Microsoft.Build, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.Build.Framework, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.Build" />
+ <Reference Include="Microsoft.Build.Framework" />
Src/Workspaces/CSharp/CSharpWorkspace.csproj
- <Reference Include="Microsoft.Build, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.Build.Framework, Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <Reference Include="Microsoft.Build.Tasks.$(MSBuildAssemblyNameFragment), Version=$(VisualStudioReferenceAssemblyVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.Build" />
+ <Reference Include="Microsoft.Build.Framework" />
+ <Reference Include="Microsoft.Build.Tasks.v4.0" />
fondamentalement, je raye le nom fort (notez que le nom de L'assemblée des tâches est différent) donc il reprend le MSBuild du GAC qui vient avec le Framework .NET, qui pour moi est la version VS 2012 utilisé.