web-dev-qa-db-ja.com

Visual Studio forMacを使用してソリューションエクスプローラーでクライアント側ファイルを複製する

dotnet cli v2.1.4を使用してdotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0を使用してスパテンプレートをダウンロードしました。次に、dotnet new angular -o my-projectを使用してangularプロジェクトを作成しました。次に、Visual Studio for Macを開き、前述のプロジェクトのCLIによって生成された.csprojファイルを開きました。解決策は次のとおりです。レンダリングされましたが、残念ながら、各ファイルのコピーがFinderに1つだけ表示されるか、ディレクトリでlsを使用していても、クライアント側のファイルはすべて複製されました。サーバー threads に関連する問題があり、プロジェクトのアンロードなど。これらの解決策を試しましたが、残念ながら問題は残ります。添付の​​画像を参照してください。サーバー側のファイルは複製されません。 Screenshot of duplicate files

9
Zachscs

問題は、Angularプロジェクトファイルで定義された重複するNoneアイテムがあることです。Windows上のVisualStudioとは異なり、Visual Studio forMacはこれらの重複するアイテムを非表示にしません。

.csprojファイルを編集して<None Remove="$(SpaRoot)**" />を追加すると、重複したファイルはVisual Studio forMacの[ソリューション]ウィンドウに表示されません。

<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では、ContentアイテムのみがClientAppフォルダーであるSpaRootディレクトリから削除されました。

9
Matt Ward

ClientAppフォルダをプロジェクトディレクトリから移動し、プロジェクトから削除することで、これを解決することができました。次に、それを元に戻し、プロジェクトに再度含めました。今回は、ファイルが複製されなくなりました。

1
Zachscs