2011-10-11 44 views
1

我使用protobuf-csharp-port爲wp7生成一個c#文件。如何使用protobuf-csharp-port從單個.proto文件生成多個文件?

我的.protp文件有很多消息,最後生成一個大約100000行的.cs文件。它非常大。我想知道如果我可以爲單個消息生成一個.cs文件。

我在老版本的protobuf-csharp-port中發現了選項csharp_multiple_files,現在它已經不存在了。我仍然可以使用當前版本(2.3.0.277)生成多個文件嗎?我還在csharp_options.proto中找到了選項multiple_file,但據說這個選項目前還沒有兌現。

我想它可以生成多個文件,但我不知道如何。

謝謝。

+0

出於好奇:鑑於這是生成的代碼,不打算被編輯甚至看,在單個文件中是否導致*問題*? *你想要這個的原因是什麼? –

+0

生成的源文件非常大。我只是想測試一下,如果使用較小的多個文件可以比速度較快的單個文件有更好的性能。 – user988854

+0

最多隻會影響編譯器的性能(假設我們需要這一切),編譯器幾乎完成相同的工作,無論它是1個文件還是100個。好吧,Visual Studio的行爲可能不同,但*通常*你不會打開這個文件,所以它沒關係。基本上,我說「這幾乎肯定不會有任何區別」。 –

回答

2

從我記憶中,這個選項實際上已經工作了很長時間。使其工作需要付出巨大的努力,正如Marc所暗示的那樣,無論如何,生成單個文件幾乎總是更方便。編輯:正如馬克指出的,這不太可能有任何速度的含義。 (當然當然只是在開發過程中 - 它不會影響執行時的性能。)如果構建需要很長時間,您可能需要實驗將生成的源代碼放入其自己的項目; C#編譯器會進行一些漸進式編譯,以避免重建尚未更改的文件,我相信,但它可能會在項目級別更好地工作。

我決定(或者可能是我的一個合作者)確定完全刪除選項會更好,因爲我們不支持它,而不是將它保留在那裏。沒有任何堅定的理由來實施它,我們不想花費時間使它工作。

道歉,如果你是少數人之一,它是有道理的 - 並歡迎修補程序 - 但我不能看到我們很快就實施它。

你可以使用多個.proto文件,當然也可以使用導入(只要你可以避免循環)。

相關問題