我遵循这个草莓奶昔教程所有步骤都成功执行,但当我试图使用dotnet build
构建时,它会失败,出现以下错误:
EXEC: error GQL:已经添加了相同键的项。关键字:JSON [D:HTHGraphQLStrawberryShake_Graphql_clientGraphqlStrawberryGraphqlStrawberryGraphqlStrawberry.csproj]C:UsersFaizan Khan.nugetpackages strawberrshake .server13.0.5build strawberrshake .server .targets(63,5): error MSB3073: command "dotnet "C:UsersFaizan Khan.nugetpackagesstrawberryshake.server 13.0.5 建立. . net6 dotnet-graphql.dll"工具;生成"D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry"o"D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry obj 调试 net6.0 berry"-n GraphqlStrawberry -a md5 -t"代码1退出。[D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry GraphqlStrawberry.csproj]
构建失败了。
EXEC: error GQL:已经添加了相同键的项。关键字:JSON [D:HTHGraphQLStrawberryShake_Graphql_clientGraphqlStrawberryGraphqlStrawberryGraphqlStrawberry.csproj]C:UsersFaizan Khan.nugetpackages strawberrshake .server13.0.5build strawberrshake .server .targets(63,5): error MSB3073: command "dotnet "C:UsersFaizan Khan.nugetpackagesstrawberryshake.server 13.0.5 建立. . net6 dotnet-graphql.dll"工具;生成"D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry"o"D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry obj 调试 net6.0 berry"-n GraphqlStrawberry -a md5 -t"代码1退出。[D: HTH GraphQL StrawberryShake_Graphql_client GraphqlStrawberry GraphqlStrawberry GraphqlStrawberry.csproj]0警告(年代)2错误(s)
这是我在构建项目之前所采取的步骤
- 创建控制台项目。net 6
- 然后打开终端,放入dotnet new tool-manifest
- dotnet添加演示包strawberrshake。服务器
- dotnet graphql init https://web.com/graphql/-n ConferenceClient -p ./Demo
- 在json文件 中添加命名空间
- 查询
- dotnet build命令并得到以上错误。
潜在的问题与.graphqlrc有关。Json配置文件过于打开(由于"any目录"值)。
对我来说有效的是创建一个子目录,并将所有的源查询文件放在那里。
为了给出一个具体的例子,我添加了"[项目根]/client_queries"目录并移动所有的*。图ql查询文件到这个目录。
然后我为"文档"更改了以下值元素。Json配置文件from:
{
"schema": "schema.graphql",
"documents": "***.graphql", <-- CHANGED THIS
"extensions": {
"strawberryShake": {
"name": "StrawberryClient",
"url": "https://example.com/graphql"
}
}
}
到保存源查询文件的特定目录:
{
"schema": "schema.graphql",
"documents": "client_queries*.graphql", <-- TO THIS
"extensions": {
"strawberryShake": {
"name": "StrawberryClient",
"url": "https://example.com/graphql"
}
}
}
我重新构建了解决方案,这似乎已经为我解决了引用错误。希望这对你有帮助。
这个问题也可能是由strawberrysshake客户端生成过程中的错误引起的。当模式包含"标量JSON"时,该过程失败,并给出完全相同的消息。以下是描述的细节和解决方法。