使用 Visual Studio for Mac 在解决方案资源管理器中复制客户端文件
Duplicate client-side files in solution explorer with Visual Studio for Mac
使用 dotnet cli v2.1.4
我使用 dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0
下载了 Spa 模板。然后我使用 dotnet new angular -o my-project
创建了一个 angular 项目。然后,我为 Mac 打开了 Visual Studio,并打开了 cli 为上述项目生成的 .csproj
文件。解决方案已呈现,但遗憾的是客户端文件全部重复,即使每个文件只有一个副本出现在查找器中或在目录中使用 ls
。我发现了几个 threads with related issues that advised unloading the project, etc. I tried these solutions but sadly the issue remains, see attached picture. Server side files are not duplicated.
我可以通过将文件夹 ClientApp
移出项目目录,然后将其从项目中删除来解决此问题。然后我将它移回并再次将其包含在项目中,这次文件不再重复。
问题是 Angular 项目文件定义了重复的 None 项。 Visual Studio for Mac 不会隐藏这些重复项,这与 Windows 上的 Visual Studio 不同。
如果您编辑 .csproj 文件并添加 <None Remove="$(SpaRoot)**" />
,那么重复文件将不会显示在解决方案 window in 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>
在上面的项目组中,只有内容项目从 SpaRoot 目录(即 ClientApp 文件夹)中删除。
我的 .csproj 文件中有以下内容,我已将其删除:
<ItemGroup>
<None Include="**/*" />
</ItemGroup>
使用 dotnet cli v2.1.4
我使用 dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0
下载了 Spa 模板。然后我使用 dotnet new angular -o my-project
创建了一个 angular 项目。然后,我为 Mac 打开了 Visual Studio,并打开了 cli 为上述项目生成的 .csproj
文件。解决方案已呈现,但遗憾的是客户端文件全部重复,即使每个文件只有一个副本出现在查找器中或在目录中使用 ls
。我发现了几个 threads with related issues that advised unloading the project, etc. I tried these solutions but sadly the issue remains, see attached picture. Server side files are not duplicated.
我可以通过将文件夹 ClientApp
移出项目目录,然后将其从项目中删除来解决此问题。然后我将它移回并再次将其包含在项目中,这次文件不再重复。
问题是 Angular 项目文件定义了重复的 None 项。 Visual Studio for Mac 不会隐藏这些重复项,这与 Windows 上的 Visual Studio 不同。
如果您编辑 .csproj 文件并添加 <None Remove="$(SpaRoot)**" />
,那么重复文件将不会显示在解决方案 window in 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>
在上面的项目组中,只有内容项目从 SpaRoot 目录(即 ClientApp 文件夹)中删除。
我的 .csproj 文件中有以下内容,我已将其删除:
<ItemGroup>
<None Include="**/*" />
</ItemGroup>