大家好,想知道是否有人知道为什么在Apple Silicon上运行dotnet swagger
与通过dotnet tool install
在全球安装Swashbuckle.AspNetCore.Cli相比不起作用。
对于上下文,我在.csproj文件中有一个带有PostBuild目标的.NET 6 API,用于在构建时生成swagger.json,如下所示
<Target Name="SwaggerToFile" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU' AND '$(NCrunch)' != '1'" AfterTargets="AfterBuild">
<Exec Command="dotnet tool restore" />
<Exec Command="dotnet swagger tofile --output doc.json $(OutputPath)$(AssemblyName).dll" />
</Target>
在Apple Silicon上,此步骤失败,您会收到以下错误消息
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '5.0.0' (arm64) was not found.
- The following frameworks were found:
6.0.5 at [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
^据我所知,上述内容不存在
但是,如果我全局安装Swashbuckle.aspNetCore.cli,然后将命令更改为swagger tofile --output doc.json $(OutputPath)$(AssemblyName).dll
,它就可以工作了。尝试理解为什么在这里会有差异,如果它是同一个CLI工具。
我只有.NET6.0SDK和运行时,对Rosetta没有什么特别的想法。
1条答案
按热度按时间dgiusagp1#
我使用的是M2 Macbook Pro,我需要将ff添加到我的
.zshrc
中,以使swagger CLI工作。~/.zshrc
个export PATH="$HOME/.dotnet/tools:$PATH"
我记不起具体的细节了,但是它和添加到环境变量的路径有关。在本例中,dotnet工具路径应该是
$HOME/.dotnet/tools
。在此更改之后,我可以通过
swagger tofile ...
使用swagger命令