Angular 使用Visual Studio for Mac在解决方案资源管理器中复制客户端文件

Angular 使用Visual Studio for Mac在解决方案资源管理器中复制客户端文件,angular,visual-studio,asp.net-core,visual-studio-mac,Angular,Visual Studio,Asp.net Core,Visual Studio Mac,使用dotnetcliv2.1.4我使用dotnetnew--安装Microsoft.dotnet.Web.Spa.ProjectTemplates::2.0.0下载了Spa模板。然后,我使用dotnet new angular-o my project创建了一个角度项目。然后,我打开了Visual Studio for Mac,并打开了cli为上述项目生成的.csproj文件。解决方案已呈现,但遗憾的是,客户端文件都被复制,即使每个文件只有一个副本出现在finder中或使用目录中的ls。我发现

使用
dotnetcliv2.1.4
我使用
dotnetnew--安装Microsoft.dotnet.Web.Spa.ProjectTemplates::2.0.0
下载了Spa模板。然后,我使用
dotnet new angular-o my project
创建了一个角度项目。然后,我打开了Visual Studio for Mac,并打开了cli为上述项目生成的
.csproj
文件。解决方案已呈现,但遗憾的是,客户端文件都被复制,即使每个文件只有一个副本出现在finder中或使用目录中的
ls
。我发现Serveal存在建议卸载项目的相关问题等。我尝试了这些解决方案,但遗憾的是问题仍然存在,请参见附件图片。服务器端文件不重复

我可以通过将文件夹
ClientApp
移出项目目录,然后将其从项目中删除来解决这个问题。然后我将其移回并再次将其包含在项目中,这一次文件不再重复。

问题是,角度项目文件定义了“无重复项”。与Windows上的Visual Studio不同,Visual Studio for Mac不会隐藏这些重复项

如果编辑.csproj文件并添加
,则重复的文件将不会显示在Visual Studio for Mac的解决方案窗口中

<ItemGroup>
  <!-- Don't publish the SPA source files, but do show them in the project files list -->
  <Content Remove="$(SpaRoot)**" />
  <None Remove="$(SpaRoot)**" /> <!-- This has been added -->
  <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
</ItemGroup>


在上面的ItemGroup中,仅从SpaRoot目录(ClientApp文件夹)中删除了内容项。

我的.csproj文件中有以下内容,删除它对我来说是固定的:

<ItemGroup>
    <None Include="**/*" />
</ItemGroup>


我在GitHub上为此问题打开了一个问题-一年前记录的问题,2019年8月仍然存在此问题。问题是修复程序没有向后移植到.NET Core 2.1 SDK。我遇到了一个问题,Visual Studio 8.5在解决方案窗口中隐藏重复文件,因此即使SDK未更新,此问题也会消失。此修复程序可以后端口到8.4,但目前它在8.4中不可用。NET Core 3存在另一个问题,因为它多次使用旧版VS Mac版本无法处理的条件定义某些MSBuild。我仍然面临这个问题。