C# 如何从.net core web api项目中删除虚拟添加的angular文件

C# 如何从.net core web api项目中删除虚拟添加的angular文件,c#,angular,asp.net-core,C#,Angular,Asp.net Core,我想使用asp.net core web.api和angular 9启动一个新项目。首先,我想创建一个没有MVC或脚手架的.net核心web api项目。我还希望在web.api启动时启动spa,就像它使用Angular的搭建式创建asp.net核心web应用程序(3.1版)一样。我想用这个脚手架作为我的来源,但是开箱即用,这个脚手架项目有一些我不喜欢的地方。angular的版本是8,不是9,但我想一个简单的更新可以解决这个问题。我尝试实现的另一件事是更改文件夹结构,并从WebAPI项目中替换a

我想使用asp.net core web.api和angular 9启动一个新项目。首先,我想创建一个没有MVC或脚手架的.net核心web api项目。我还希望在web.api启动时启动spa,就像它使用Angular的搭建式创建asp.net核心web应用程序(3.1版)一样。我想用这个脚手架作为我的来源,但是开箱即用,这个脚手架项目有一些我不喜欢的地方。angular的版本是8,不是9,但我想一个简单的更新可以解决这个问题。我尝试实现的另一件事是更改文件夹结构,并从WebAPI项目中替换angular项目

原始文件夹结构为:

Solutionfolder
  |- WebApi project
      |- ClientApi (which contains the angular project)
我想要的是:

Solutionfolder
  |- WebApp (which contains the angular project)
  |- WebApi project
因为我相信angular项目不属于WebAPI项目。为了实现这一点,我使用.net core 3.1版启动了一个新的asp.net core web应用程序,并在过程中选择Angular,然后执行以下步骤:

  • 我将ClientApi项目移到WebApi项目旁边,并将其重命名(对于此PoC,我将其更改为ClientApi更改)
  • 在my startup.cs中,我更改了以下配置:
    • configuration.RootPath=“../ClientAppChanged/dist”
    • spa.Options.SourcePath=“../ClientAppChanged”
  • 最后,我更改了.csproj文件中的spaRoot:
    。\ClientAppChanged\
这是可行的,但最后一步似乎会产生一个令人讨厌的副作用:它实际上会将角度项目文件添加到WebApi项目中:


所以,我的最后一步是摆脱虚拟添加的文件,但我不明白为什么要添加它。我最好的猜测是它与.csproj文件中的spaRoot设置有关。我的问题是:为什么这些文件实际上被添加到WebAPI项目文件中,我如何才能阻止这种情况

在进一步搜索之后,我找到了一个有助于我找到正确方向的主题。在.csproj文件中,下一行将使添加的文件虚拟地添加到项目中:

删除这行代码后,文件不再作为项目的一部分显示: