7

マルチプラットフォーム プロジェクトを作成しましたが、1 つの小さなことを除いて、すべてがうまく機能します。次のような特定のプラットフォーム ファイルを追加すると、

  • ServiceImpl.cs
  • ServiceImpl.Desktop.cs

この記事のように、ツリー形式ではうまく表示されません。

マルチターゲティング(私の言いたいことを理解するには、記事の最後の画像を確認してください)。

VS 2008にこれを行うように「教える」方法はありますか? 通常の XAML とコード ビハインドでは、通常どおり動作します...


わかりました、答えは通常の状況で完璧に機能しました。さて、Silverlight プロジェクトにはまだ少し問題があります。このファイルはもともとデスクトップ プロジェクトにあるため、ソリューションはそこで機能します。ただし、「親」ファイルがリンクの場合、問題が発生するようです (まったく影響はありません)...次のコードを参照してください。

<Compile Include="..\Messaging\Services\MessagingService.cs">
  <Link>Services\MessagingService.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\MessagingService.Silverlight.cs">
      <DependentUpon>MessagingService.cs</DependentUpon>
</Compile>

この状況のアイデアはありますか?

4

2 に答える 2

10

常に自動的に行われるわけではありませんが (.Designer のようなものは検出されますが)、手動で csproj を編集してこれを行うことができます (単なる xml です)。これを提供するアドインもいくつかありますが、私が使用しているものは削除されています。あなたはDependentUponが欲しい...

<Compile Include="ServiceImpl.cs" />
<Compile Include="ServiceImpl.Desktop.cs">
  <DependentUpon>ServiceImpl.cs</DependentUpon>
</Compile>

(これらは同じフォルダーにある必要があることに注意してください。DependentUpon でフォルダーを指定しないでください)

于 2009-06-25T11:47:31.723 に答える
3

このプラグインhttp://mokosh.co.uk/vscommands/ を使用して、VSからソリューションエクスプローラーのアイテムをグループ化できます(プロジェクトファイルを編集せずに)。

于 2009-06-25T14:35:16.800 に答える