2016-09-19 8 views

答えて

4

NuGetパッケージBond.CSharpへの参照を追加すると、Bond codegen .targetsファイルが自動的に.csprojファイルに追加されます。この.targetsファイルは、BondCodegen ItemGroupの任意の.bondファイルでcodegenを自動的に実行し、結果の.csファイルは暗黙的にコンパイルされます。

Visual Studioでは、ファイルのプロパティでビルドアクションを変更することでこれを制御します。

ボンドソースツリーにsimple example showing how the BondCodegen ItemGroup worksがあります。 Bond.CSharp package READMEまたはthe targets themselvesをチェックしてくださいどのようなターゲットのサポート、についても、詳細については

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    ... 
    <Import Project="..\..\..\..\cs\build\nuget\Bond.CSharp.props" /> 
    ... 
    <ItemGroup> 
    <BondCodegen Include="schema.bond" /> 
    </ItemGroup> 
    ... 
    <Import Project="$(BOND_PATH)\build\nuget\Bond.CSharp.targets" /> 
</Project> 

:その.csprojファイルがどのように見えるかの抜粋。

Bond.CSharpパッケージは、多くの場合、他の多くのBondパッケージを使用して、ボンドのシリアル化を行います。しかし、finer-grained packagesがあります。依存関係をより正確に制御するために使用することもできます(Newtonsoft.JSONへの依存関係を追加しないなど)。

+1

はい、3つの参照アセンブリが必要です。それ以外の場合、C#コンパイラは、それぞれが含むBondの部分を見つけることができません。それぞれの内容に興味がある場合は、各パッケージの内容とソースコードについて説明したリンクされたドキュメントを参照してください。 – chwarr

+0

リンクされた例の3つのbond * .dllファイルは何をしますか?彼らも必要ですか? – yuvalm2

関連する問題