2016-09-19 50 views

回答

4

如果您添加對NuGet軟件包Bond.CSharp的引用,則Bond codegen .targets文件將自動添加到.csproj文件中。這個.targets文件將自動在BondCodegen ItemGroup中的任何.bond文件上運行codegen,並且生成的.cs文件將隱式編譯。

在Visual Studio中,這是通過在其屬性中更改文件的「構建操作」來控制的。

Bond源樹中有simple example showing how the BondCodegen ItemGroup works。什麼目標的支持,請查看Bond.CSharp package READMEthe 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包以獲得Bond序列化的全部功能,這通常是您想要的。但是,您還可以使用finer-grained packages來更精確地控制依賴關係(例如,不添加對Newtonsoft.JSON的依賴關係)。

+1

是的,需要三個引用程序集。否則,C#編譯器將無法找到每個包含的Bond部分。如果您對每個包含的內容感興趣,請查看關於每個包中的內容和源代碼的鏈接文檔。 – chwarr

+0

鏈接示例中的3個bond * .dll文件是做什麼的?他們也需要嗎? – yuvalm2

相關問題