如何通过项目文件启用 protobuf-net.BuildTools OneOf 支持?
How do I enable protobuf-net.BuildTools OneOf support via project file?
documentation 似乎表明这应该是可能的,但我没有任何运气能够按照描述的那样工作。
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>
代码生成,但不包含任何枚举定义。
我知道这与最近的另一个问题类似,但那个问题没有涉及属性,我也没有被允许在那里发表评论。
精简版:工具绑定出错;我已经修复了这个问题,并且即将进行构建(目前正在通过 CI 构建),这应该得到解决;问题中的配置现在可以使用,在 C# 中有额外的输出:
public SomeGroupOneofCase SomeGroupCase => (SomeGroupOneofCase)__pbn__SomeGroup.Discriminator;
public enum SomeGroupOneofCase
{
None = 0,
Foo = 1,
Bar = 3,
Baz = 4,
}
documentation 似乎表明这应该是可能的,但我没有任何运气能够按照描述的那样工作。
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>
代码生成,但不包含任何枚举定义。
我知道这与最近的另一个问题类似,但那个问题没有涉及属性,我也没有被允许在那里发表评论。
精简版:工具绑定出错;我已经修复了这个问题,并且即将进行构建(目前正在通过 CI 构建),这应该得到解决;问题中的配置现在可以使用,在 C# 中有额外的输出:
public SomeGroupOneofCase SomeGroupCase => (SomeGroupOneofCase)__pbn__SomeGroup.Discriminator;
public enum SomeGroupOneofCase
{
None = 0,
Foo = 1,
Bar = 3,
Baz = 4,
}