文档似乎表明,这是可能的,但我没有任何运气,使这一工作,如所述。
net5.0项目、protobuf-net (3.0.101)和protobuf-net.BuildTools(3.0.101)是唯一的NuGet引用。
简单的.proto文件定义为:
syntax = "proto3";
message ExampleMessage {
oneof SomeGroup {
int32 foo = 1;
string bar = 3;
double baz = 4;
}
}.csproj文件片段:
<ItemGroup>
<AdditionalFiles Include="example.proto" OneOf="enum"/>
</ItemGroup>代码生成,但不包括任何枚举定义。
我知道这类似于最近的另一个问题,但这个问题不涉及属性,我也不被允许在那里发表评论。
发布于 2021-11-11 18:14:35
简短版本:工具捆绑中有一个错误;我已经修复了这个问题,并且随着即将进行的构建(目前正在通过CI构建),应该解决这个问题;问题中的配置现在起作用了,C#中的附加输出:
public SomeGroupOneofCase SomeGroupCase => (SomeGroupOneofCase)__pbn__SomeGroup.Discriminator;
public enum SomeGroupOneofCase
{
None = 0,
Foo = 1,
Bar = 3,
Baz = 4,
}https://stackoverflow.com/questions/69916950
复制相似问题