2017-10-12 3 views
0

Ich versuche, asp.net dotnet Core App vis CLI zu erstellen, aber ich möchte wwwroot\dist\**\* von der Kompilierung ausschließen.Ausschließen von wwwroot dist von Build asp.net dotnet core 2.0

In dist Ordner habe ich statische Datei, die kopiert werden muss, aber nicht kompiliert. Ich habe versucht, indem Sie ItemGroup hinzufügen, aber kann nicht herausfinden.

Auch ich folgte diesem document aber da ist etwas was ich nicht verstehe und wahrscheinlich diong falsch.

Hier si Beispielkonfiguration:

<ItemGroup> 
    <Compile Exclude="wwwroot\dist\**\*" /> 
    </ItemGroup> 

Einer meiner Fehler ist:

Fehler MSB4232: Einzelteile, die außerhalb Zielelemente muss man haben der folgenden Operationen: Fügen, Update, oder Entfernen.

Antwort

2

es so sein sollte:

<ItemGroup> 
    <Compile Remove="wwwroot\dist\**" /> 
    <Content Remove="wwwroot\dist\**" /> 
    <EmbeddedResource Remove="wwwroot\dist\**" /> 
    <None Remove="wwwroot\dist\**" /> 
    </ItemGroup> 

Aber noch etwas anderes im Spiel sein könnte. Hier ist, wie „default“ .net Kern 2 csproj wie + „dist“ Ordner ignorieren aussehen sollen:

<Project Sdk="Microsoft.NET.Sdk.Web"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    </PropertyGroup> 

    <ItemGroup> 
    <Compile Remove="wwwroot\dist\**" /> 
    <Content Remove="wwwroot\dist\**" /> 
    <EmbeddedResource Remove="wwwroot\dist\**" /> 
    <None Remove="wwwroot\dist\**" /> 
    </ItemGroup> 

    <ItemGroup> 
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" /> 
    </ItemGroup> 

    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" /> 
    </ItemGroup> 

</Project> 

Wenn Sie Inhalte des Ordners Ausgang und immer noch sichtbar innen VS kopiert haben wollen:

<ItemGroup> 
    <Compile Remove="wwwroot\dist\**" /> 
    </ItemGroup> 
+0

Es kompiliert, aber was ist, wenn ich die Kompilierung nur überspringen möchte? – kat1330

+0

aktualisierte meine Antwort. –

+0

Leider funktioniert es nicht für mich. Ich versuche, die Kompilierung zu überspringen, aber kopiere den 'publish' Ordner. – kat1330

0

Sie können auch sicherstellen, dass die Elemente nie zum Projekt hinzugefügt werden, sodass Sie sie nicht entfernen müssen. Dies kann etwas leistungsfähiger sein, wenn das Verzeichnis sehr groß ist. Um das Standard-Glob-Muster hinzuzufügen, fügen Sie dieses zu Ihrer Projektdatei hinzu:

<PropertyGroup> 
    <DefaultItemExcludes>$(DefaultItemExcludes);wwwroot\dist\**</DefaultItemExcludes> 
</PropertyGroup> 
Verwandte Themen