myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Entwicklungs- und Laufzeitumgebung (Infrastruktur) (https://www.mycsharp.de/wbb2/board.php?boardid=50)
--- Wie kann ich Proto-Datein in Visual Studio verarbeiten? (https://www.mycsharp.de/wbb2/thread.php?threadid=122115)


Geschrieben von FrankenDerStein am 15.08.2019 um 21:33:
  Wie kann ich Proto-Datein in Visual Studio verarbeiten?
Hallo Kollegen,

Ich hoffe ich habe die richtige Kategorie gewählt.

Meine frage bezieht sich auf die Proto-Dateien.

So ich es verstehe wird mit Hilfe der Proto-Dateien Quellcode generiert.

Da ich das erste Mal diesen Dateien arbeite, kenne ich mich nicht aus.

So wie ich es verstanden habe, kann dies Visual Studio auch.

Meine Frage lautet: Wie macht man das?

Ich besitze mittlerweile Visual Studio 2015 Enterprise.

Ist es damit möglich oder brauche ich eine neuere Version?

Ich hoffe ihr könnt mir da helfen.

Mit freundlichen Grüßen, FrankenDerStein.


Geschrieben von Th69 am 16.08.2019 um 09:10:
 
Hallo,

da sollte dir  Protocol Buffers/gRPC Integration Into .NET Build bei helfen.

Edit: ich habe auch noch  Generate C# models from Protobuf proto files directly from Visual Studio gefunden.


Geschrieben von weismat am 16.08.2019 um 10:52:
 
Mit der VS Version hat das nix zu tun.
Du musst Dir per Nuget  Google Protobuf installieren.
Alternativ kannst Du  Protobuf-Net ein Tool zum Generieren der Klassen finden.


Geschrieben von Abt am 16.08.2019 um 12:04:
 
Zitat von FrankenDerStein:
So ich es verstehe wird mit Hilfe der Proto-Dateien Quellcode generiert.

Nein. Eine Proto-Datei stellt einen Vertrag dar; nichts anderes als ein Schema.

Ein Nebeneffekt ist aber, dass sich dadurch Quellcode generieren lässt, was aber kein Zwang oder eine Pflicht darstellt.
Du kannst auch den gesamten Code selbst schreiben.

In .NET Core / .NET Standard lässt sich das einfach über eine Itemgroup definieren:

XML-Code (https://github.com/BenjaminAbt/Talks.AspNetCore-3-Basics/blob/master/src/GrpcServer/GrpcServer.csproj):
  <ItemGroup>
    <Protobuf Include="Protos\greet.proto" GrpcServices="Server" Generator="MSBuild:Compile" />
    <Content Include="@(Protobuf)" />
    <None Remove="@(Protobuf)" />
  </ItemGroup>

Dazu braucht man das NuGet Paket Grpc.Tools.

Das Attribut GrpcServices kann dabei Server oder Client sein - je nachdem, welche Art von Code generiert werden soll.


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.01.2020 15:06