CodeProcessor はそれを行う古い方法のようで、エンティティの生成のみに限定されていると思います。新しいバージョンでは、すべての異なる部分に対して T4 ベースのジェネレーターを指定できます。
Nugetから RIAServices.T4 を WebProejct またはコード生成クラスを含むクラス ライブラリにインストールします。PM> インストール パッケージ RIAServices.T4
ツールキットが既にある場合は、"Microsoft.ServiceModel.DomainServices.Tools.TextTemplate" への参照を追加するだけです。
次に、CSharpClientCodeGenerator から継承する必要があります。これは、実際には何も生成しませんが、RIA のプロパティの一部をオーバーライドして、どのジェネレーターを使用するかを RIA に指示するだけです。
[DomainServiceClientCodeGenerator("MyCustomGenerator", "C#")]
public class MyCSharpClientCodeGenerator : CSharpClientCodeGenerator
protected override Microsoft.ServiceModel.DomainServices.Tools.TextTemplate.DomainContextGenerator DomainContextGenerator
{
get
{
//return base.DomainContextGenerator;
return new MyDomainContextGenerator();
}
}
次に、CSharpDomainContextGenerator から継承する必要があるクラス (MyDomainContextGenerator) を実装するように R# に指示します。もちろん、R# を使用する場合は、それが自動的に行われます。
MyCSharpClientCodeGenerator から提供できる他の 4 つの異なるコード ジェネレーターがあります。
すべてを接続するには、Silverlight プロジェクト ファイルで、ジェネレーターを使用するよう RIA に指示する必要があります。Silverlight プロジェクトを編集し、最初の PropertyGroup 内の LinkedServerProject の直後に次の要素を追加する必要があります (順序は関係ありません。参考までに述べます)。
<LinkedServerProject>..\SilverlightApplication2.Web\SilverlightApplication2.Web.csproj</LinkedServerProject>
<RiaClientCodeGeneratorName>
SilverlightApplication2.Web.RiaStuff.MyCSharpClientCodeGenerator,SilverlightApplication2.Web
</RiaClientCodeGeneratorName>
</PropertyGroup>
Silverlight プロジェクトを再コンパイルすると出来上がりです。クラッシュする可能性があります。これをデバッグするには、Visual Studio の別のインスタンスを開き、この新しいインスタンスのジェネレーターにブレークポイントを設定し、Visual Studio の最初のインスタンスにアタッチして、Silverlight プロジェクトを再コンパイルします。