2017-10-12 67 views
0

我正在嘗試構建asp.net dotnet核心應用程序,但是我想從編譯中排除wwwroot\dist\**\*從構建asp.net dotnet核心2.0中排除wwwroot dist

dist文件夾我有靜態文件,需要被複制但沒有編譯。我嘗試加入ItemGroup但無法弄清楚。

我也跟着這document,但有一些我不明白,可能是錯的。

這裏SI示例配置:

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

我的一個錯誤是:

錯誤MSB4232:項目是外目標元素必須有一個 以下操作:包括更新,或刪除。

回答

2

它應該是這樣的:

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

但有可能是其他人在比賽中的東西。這裏是「默認」 .NET核心2的csproj應該怎麼看起來像+「DIST」文件夾忽略:

<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> 

如果你想有複製到輸出,仍然可見裏面VS文件夾的內容:

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

它編譯,但如果我只想跳過編譯? – kat1330

+0

更新了我的答案。 –

+0

不幸的是,它不適合我。我試圖跳過編譯,但複製在'發佈'文件夾。 – kat1330

0

您還可以確保項目永遠不會添加到項目中,因此您不必刪除它們。如果目錄很大,這可能會更好一些。要將排除項添加到默認的全局模式,您可以將其添加到項目文件中:

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