如何发布引用另一个可执行文件的自包含C#可执行文件?
c#
我有两个 C# .NET 5 项目,我们称它们为 A 和 B。两者都是可执行文件(不是 DLL)。项目 A 引用项目 B。我想将项目 A 作为自包含的可执行文件发布(尽管不是单文件,如果这很重要)。我正在使用此命令启动发布过程:
dotnet publish A.csproj -c Release --self-contained -r win-x64 /p:PublishTrimmed=true /p:PublishReadyToRun=true
但是,这在尝试构建项目 B 时会产生以下错误(这是必需的,因为项目 A 引用了它):
error NETSDK1031: It is not supported to build or publish a self-contained application without specifying a RuntimeIdentifier. You must either specify a RuntimeIdentifier or set SelfContained to false.
但正如你所看到的,我感到(我想?)指定与运行时的标识符-r win-x64。我猜我在命令行上指定的运行时标识符在构建项目 B 时没有通过。如何在不禁用 SelfContained 的情况下解决这个问题?
我的 dotnet 版本是:
dotnet --version
5.0.400
编辑:我不想放入<RuntimeIdentifier>win-x64</RuntimeIdentifier>我的项目文件,因为我需要为多个不同的运行时构建,并且我希望能够通过命令行控制它。