Я использую стандарт dotnet 2.0 (Visual Studio 2017) для gRPC. Вот как выглядит весь мой проект: ![My whole project with 2 proto files](https://i.stack.imgur.com/Bnass.png)
Messages.proto
syntax = "proto3";
package Messages;
message IdRequest{
int32 id = 1;
}
message NameResponse{
string name=1;
}
![messages.proto file properties](https://i.stack.imgur.com/SVCFR.png)
Name.proto
syntax = "proto3";
package Services;
import public "proto/messages.proto";
service NameService{
rpc GetNameById(Messages.IdRequest) returns (Messages.NameResponse);
}
![name.proto file properties](https://i.stack.imgur.com/1qA7X.png)
Common.proj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="proto\messages.proto" />
<None Remove="proto\name.proto" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.10.1" />
<PackageReference Include="Grpc" Version="2.24.0" />
<PackageReference Include="Grpc.Core" Version="2.24.0" />
<PackageReference Include="Grpc.Tools" Version="2.24.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Protobuf Include="proto\messages.proto" />
<Protobuf Include="proto\name.proto" />
</ItemGroup>
</Project>
Проект успешно создается, однако окончательный Common.dllне имеет пространства имен Messages, и я не могу ссылаться на IdRequest или NameResponse.
![Object Browser VS2017](https://i.stack.imgur.com/PPQYA.png)
Итак, где я делаю ошибку, которая скрывает пространство имен Messages?