Chaque fois que j'ajoute un fichier javascript ou css à mon projet asp.net core et que j'exécute dotnet run
dans mon terminal bash, j'obtiens l'erreur suivante :
/usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft
.NET.Sdk.DefaultItems.targets(188,5) : error : Duplicate 'Content'. ont été inclus. Le SDK .NET inclut les éléments 'Content' de votre répertoire de projet par défaut. Vous pouvez soit supprimer ces éléments de votre votre fichier de projet ou définir la propriété "EnableDefaultContentItems" sur "false" si vous false " si vous souhaitez les inclure explicitement dans votre fichier de projet. Pour plus d'informations, voir https://aka.ms/sdkimplicititems . Le site éléments en double étaient : 'wwwroot/css/BasicQuotation.css' ; wwwroot/js/BasicQuotation.js [/mnt/c/Dev/myproject/MyProject/MyProject.csproj]
La construction a échoué. Veuillez corriger les erreurs de construction et recommencer.
Je peux résoudre ce problème en supprimant le ItemGroup
de mon fichier csproj, mais je ne pense pas que ce soit très productif.
Cela se produit dans le modèle par défaut de Visual Studio 2017 ASP.NET Core Web Application (.NET Core). J'ajoute les fichiers à mon projet en cliquant avec le bouton droit de la souris sur le dossier wwwroot > js puis en sélectionnant. Add > New Item > JavaScript File
Voici mon fichier .csproj :
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
</PropertyGroup>
<PropertyGroup>
<UserSecretsId>aspnet-MyProject-7e1906d8-5dbd-469a-b237-d7a563081253</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<Compile Remove="wwwroot\lib\jquery-validation\**" />
<Content Remove="wwwroot\lib\jquery-validation\**" />
<EmbeddedResource Remove="wwwroot\lib\jquery-validation\**" />
<None Remove="wwwroot\lib\jquery-validation\**" />
</ItemGroup>
<ItemGroup>
<Content Include="wwwroot\css\BasicQuotation.css" />
<Content Include="wwwroot\js\BasicQuotation.js" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0" />
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Data\Commands\" />
<Folder Include="Data\Queries\" />
<Folder Include="wwwroot\images\" />
</ItemGroup>
</Project>
13 votes
Si vous rencontrez ce problème après avoir mis à jour VS2017 vers la version 15.3, assurez-vous de jeter un coup d'œil à la page suivante ici . MS a décidé d'inclure certains dossiers tels que wwwroot par défaut maintenant, ce qui signifie qu'ils sont probablement inclus deux fois.
0 votes
L'article que @jao a partagé, explique très bien pourquoi cela se produit et comment le réparer. Allez directement à cet article.
0 votes
Pour plus d'informations sur
EnableDefaultContentItems
: stackoverflow.com/a/46984128/67824