現在、以下の様なソリューションを作成しています。
SubClassX.csの中でFormA,FormBのインスタンスを生成したいのですが、TestAppAではTestAppBの、TestAppBではTestAppAのusingがエラーになります。
C#
1using TestAppA; 2using TestAppB; 3 4namespace TestAppCommon 5{ 6 class SubClassX 7 { 8 FormA classA = new FormA(); 9 FormB classB = new FormB(); 10 11 SubClassA1 class1A = new SubClassA1(); 12 SubClassB1 class1B = new SubClassB1(); 13 } 14}
エラーメッセージは以下になります。
リビルドを開始しました...
1>------ すべてのリビルド開始: プロジェクト:TestAppA, 構成: Debug Any CPU ------
2>------ すべてのリビルド開始: プロジェクト:TestAppB, 構成: Debug Any CPU ------
C:\Users\Owner\source\repos\TestApp\TestAppB\TestAppB.csproj を復元しました (2 ms)。
C:\Users\Owner\source\repos\TestApp\TestAppA\TestAppA.csproj を復元しました (2 ms)。
1>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(2,7,2,15): error CS0246: 型または名前空間の名前 'TestAppB' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
1>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(9,9,9,14): error CS0246: 型または名前空間の名前 'FormB' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
1>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(12,9,12,19): error CS0246: 型または名前空間の名前 'SubClassB1' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
1>プロジェクト "TestAppA.csproj" のビルドが終了しました -- 失敗。
2>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(1,7,1,15): error CS0246: 型または名前空間の名前 'TestAppA' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
2>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(8,9,8,14): error CS0246: 型または名前空間の名前 'FormA' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
2>C:\Users\Owner\source\repos\TestApp\TestCommon\SubClassX.cs(11,9,11,19): error CS0246: 型または名前空間の名前 'SubClassA1' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
2>プロジェクト "TestAppB.csproj" のビルドが終了しました -- 失敗。
========== すべてリビルド: 0 正常終了、2 失敗、0 スキップ ==========
元々TestAppAだけ作成していたのですが、機能分割によりTestAppBを作成することになり、以下の方法で行いました。
(1) TestAppAをインポートして作成したテンプレートでTestAppBを作成。
(2) 双方で共通のクラスSubClassXを新たに作成したTestAppCommonフォルダに移動。
(3) SubClassXのnamespaceをTestAppCommonに変更。
(4) TestAppA,Bそれぞれで、SubClassX.csをリンク参照に変更。
個人的には(2)~(3)に問題があるように思えるのですが、解決策が見つかりません。
回答5件
あなたの回答
tips
プレビュー