作者:阳阳的微薄之歌 | 来源:互联网 | 2023-06-19 14:40
在.proto文件中使用导入时,出现“找不到文件”错误。
我正在使用Rider,但在使用Visual Studio时遇到相同的问题。
第一个原始文件:
syntax = "proto3";
import "/fileToImport.proto";
service GreeterAPI {
rpc SayHello (SayHelloRequest) returns (SayHelloResponse);
}
message SayHelloRequest {
string name = 1;
}
message SayHelloResponse {
string answer = 1;
}
我要导入的第二个原型文件:
syntax = "proto3";
message Foo {
string bar = 1;
}
两个文件在项目目录中彼此相邻。
.csprjo文件:
netcoreapp3.0
如果我构建的项目没有导入行,那么一切都很好。但是在导入行中,我得到“找不到文件”
我知道我可以使用--proto_path
来告诉协议所有文件。
但是我不想建立一个额外的预构建脚本或类似的东西。
我想使用该构建来支持IDE。
我遇到了与您相同的问题,对我有用的解决方法是将.proto文件的包含文件夹添加到导入中。假设两个.proto文件都在“ Protos”文件夹中,请尝试更改
import "/fileToImport.proto";
至
import "Protos/fileToImport.proto"
。
还尝试更改.csproj文件中的
到
希望有帮助