web-dev-qa-db-fra.com

Le paramètre "SharedCompilationId" d'aperçu ASP.NET CORE 2.1 n'est pas pris en charge par la tâche "Csc"

J'essaie d'exécuter le projet avec des vues dans une bibliothèque de classes séparée sur Mac OSX, comme décrit dans l'article ci-dessous.

https://blogs.msdn.Microsoft.com/webdev/2018/03/01/asp-net-core-2-1-razor-ui-in-class-libraries/

Le problème est que je ne peux pas construire le projet de bibliothèque de classes avec Visual Studio Community 7.4 sur Mac OS.

Le projet se construit avec la ligne de commande (donet build) sans problème, mais lorsque j'essaie de le construire avec Visual Studio, il génère deux erreurs:

/usr/local/share/dotnet/sdk/NuGetFallbackFolder/Microsoft.aspnetcore.razor.design/2.1.0-preview1-final/build/netstandard2.0/Microsoft.AspNetCore.Razor.Design.Compilation.targets(10,10): Error MSB4064: The "SharedCompilationId" parameter is not supported by the "Csc" task. Verify the parameter exists on the task, and it is a settable public instance property. (MSB4064)

/usr/local/share/dotnet/sdk/NuGetFallbackFolder/Microsoft.aspnetcore.razor.design/2.1.0-preview1-final/build/netstandard2.0/Microsoft.AspNetCore.Razor.Design.Compilation.targets(5,5): Error MSB4063: The "Csc" task could not be initialized with its input parameters. (MSB4063)

Lorsque je modifie RazorCompileOnBuild en false ou que je supprime le contenu de Content from Content, le projet est compilé sans erreur.

7
macfly

Allez à la console Nuget et ajoutez:

Install-Package Microsoft.Net.Compilers -Version 2.8.2

Vous n'obtiendrez plus l'erreur mentionnée ci-dessus.

33
MrNams

J'ai eu ce problème sur le serveur de construction, mais pas localement.

La solution: Installez Visual Studio mis à jour sur le serveur de génération. Dans mon cas 2017.15.4

4
Dave Loukola

Je trouve que vous pouvez résoudre ce problème de deux manières.

Solution 1

Ajoutez le package de compilateurs Microsoft.Net.Compilers au projet.

Solution 2  

Générez le projet à l'aide de la ligne de commande. dotnet build 

2
Charith

Dans mon cas, j'avais installé le SDK .NET Core 2.1, mais pas le runtime.

Etrange que Microsoft n'inclue pas le runtime dans le SDK.

1
Jessica Ward

Si vous rencontrez ce problème, vous devez suivre trois étapes:

  1. Assurez-vous que le package Nuget et le cadre cible correspondent.
  2. Assurez-vous que les runtime et sdk référencés sont installés.
  3. Assurez-vous que Visual Studio est à jour.
1
pimbrouwers