4

あなたの意見では、Visual Studio 2012 で C# プロジェクトのファイルのフル パスを変更することは可能でしょうか?? ビジュアライゼーションでは、フル パスを含むプロジェクト ファイルのプロパティ ボックスが無効 (灰色) として表示されるため、これをお願いします。ファイルコード.csを重複させずに、同じソリューションの下で、別のプロジェクトで同じファイルを使用します。

4

2 に答える 2

4

@TheSolutionの答えを拡張するには:

  1. ファイル>新しいプロジェクト(またはソリューション>右クリック>新しいプロジェクトの追加)>クラスライブラリ- 「MyProject.Common」のような名前を付けます
  2. 既存のファイル ( Shift+Alt+A) をプロジェクトに追加 > 共有するファイルを選択します。またはコピー/貼り付け
  3. 共有プロジェクトにコピーされているため、元のプロジェクトの古いファイルを削除します
  4. 次に、共通ファイルを使用するプロジェクトで、[プロジェクト] > [参照の追加] > 左パネルの [ソリューション] > [プロジェクト] の下から選択し、[共通] プロジェクトをチェックして [OK] を選択します。
  5. using共通コードを使用するコード ファイルの上部にあるセクションに名前空間を含めます。

C# プロジェクトとそのフォルダーの名前を変更する場合は、ソリューションでプロジェクトの名前を変更した後、 ファイル.slnとファイルで手動でこれを行う必要があります。.csprojex) 「ME.MyProject」を「ME.YourProject」にリネームしたい場合:

  1. プロジェクト > プロパティ (ALT+ENTERソリューション エクスプローラーのプロジェクトで)
  2. 「アセンブリ名」と「既定の名前空間」の両方を変更します
  3. VS を閉じる (またはソリューションをアンロードする)
  4. フォルダの名前を変更
  5. .slnテキストエディタでファイルを開き、以下の手動の手順に従います
  6. このプロジェクトを参照している他のすべてのプロジェクトのファイルを開き、.csproj参照を「MyProject」から「YourProject」に変更します。または、VS 内のプロジェクト参照を削除して再度追加します。

.sln:

前:

プロジェクト ファイルの名前は変更されていますが、パスは変更されていないことに注意してください。

Project("{SOMEGUID}") = "ME.YourProject", "ME.MyProject\ME.YourProject.csproj", "{ANOTHERGUID}"
EndProject

後:

Project("{SOMEGUID}") = "ME.YourProject", "ME.YourProject\ME.YourProject.csproj", "{ANOTHERGUID}"
EndProject

.csproj:

前:

<ProjectReference Include="..\ME.MyProject\ME.YourProject.csproj">
  <Project>{ANOTHERGUID}</Project>
  <Name>ME.YourProject</Name>
</ProjectReference>

後:

<ProjectReference Include="..\ME.YourProject\ME.YourProject.csproj">
  <Project>{ANOTHERGUID}</Project>
  <Name>ME.YourProject</Name>
</ProjectReference>
于 2013-07-26T16:27:12.873 に答える
1

コード ファイルを共有したい場合は、それをリンク ファイルとして追加できます。これを行うには、プロジェクトを右クリックして [既存の項目を追加] を選択し、[ファイルを開く] ダイアログで項目を見つけてから、それを選択する前に [開く] ボタンをドロップダウンして、リンクのオプションを選択します。

これにより、そのコード ファイルがこのプロジェクトにリンクされます。つまり、1 つの場所で変更された場合、両方で変更されます。

ただし、リンクされたファイルは、共有機能を提供する非常にハックな方法です。より適切な方法は、機能を備えたクラス ライブラリを構築し、プロジェクトへの参照として DLL を追加することです。これは、その DLL を最新の状態に保つ方法が必要であることを意味しますが、一般的にはその方がより適切です。

于 2013-04-09T12:32:08.743 に答える