名前空間 'xxx' は既に 'yyy' の定義を含んでいます。が発生した時の回避策
ひさしぶりに開いたプロジェクトをビルドすると次のエラーが発生した。
この問題は、現象、回避策ともに今回のケースだけではないと思うが、回避した方法を記録しておく。
エラーメッセージ
エラー CS0101 名前空間 'Tamon.CameraMonitor' は既に 'Camera' の定義を含んでいます。
C:\Users\...\TamCameraMonitor\Camera\Camera.cs 10 アクティブ
対象ソース
エラーは Camera.cs のクラス定義 (10行目) で発生していた。
namespace Tamon.CameraMonitor
{
public class Camera : IDisposable
{
今回の場合は、同じプロジェクトの他ファイルに次のような名前空間が定義されていた。
namespace Tamon.CameraMonitor.Camera
{
回避策
先の名前空間は記憶にも、そう定義する意味も見つからなかったので以下のように修正した。
namespace Tamon.CameraMonitor
{
確認した環境
OS: 日本語 Windows 10 Home 64 ビット
コンパイラ: Microsoft Visual Studio Community 2019 Version 16.2.2
ターゲットフレームワーク: .NET Framework 4.6.1