2017-10-17 222 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