2017-10-17 205 views
4

如何從構建中排除我的X文件夾?排除ASP.NET Core 2中的文件夾

如果我手動刪除它,並且dotnet builddotnet run它需要20秒的時間來運行這兩個命令並讓我一個工作的服務器。

另一方面,如果我手動包含它,則需要2分鐘來運行這兩個命令。

我試着加入:

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

.csproj文件,但這似乎並沒有解決問題。

那麼如何指示dotnet完全忽略該文件夾呢?

+0

是不常見的做法,只是排除源控制'node_modules'(一般在。 gitignore)? – Jonesopolis

+0

項目文件夾根目錄下的'node_modules'文件夾應該已被排除,這個項目是否真的使用了'Microsoft.NET.Sdk.Web' SDK? (csproj文件) –

+0

@Jonesopolis這隻會排除它使用'git'版本化。在編譯源代碼時,無論是在本地,還是在虛擬機或Docker容器中,遞歸地嘗試解析和編譯該目錄中的東西的問題仍然存在。 – Shoe

回答

3

要排除較大的文件夾以加速構建,需要從「默認」項(默認搜索的模式)中排除項目,因爲大部分時間都用於搜索文件夾(儘管MSBuild 15.5將包含優化那)。

這個添加到項目文件,以排除不應該在第一時間被搜索大的文件夾:

<PropertyGroup> 
    <DefaultItemExcludes>$(DefaultItemExcludes);my_large_folder\**</DefaultItemExcludes> 
</PropertyGroup> 
+0

是的,它修復了它。謝謝。對於未來的訪問者:我提出的問題幾乎沒有影響,所以你可以刪除它們。 – Shoe