C# 如何使用混合框架构建sln
我有一个解决方案文件,其中包含针对混合框架的项目:C# 如何使用混合框架构建sln,c#,.net,docker,.net-core,C#,.net,Docker,.net Core,我有一个解决方案文件,其中包含针对混合框架的项目: MySolution.sln MySolution.Library.csproj MySolution.Library.Tests.csproj (更多库和测试项目) 所有非测试项目都以.NET标准2.0为目标,设置如下: netstandard2.0 所有测试项目都以.NET Framework 4.7.2和.NET Core 3.1为目标: net472;netcoreapp3.1 我们有一个Dockerfile,它将解决
- MySolution.sln
- MySolution.Library.csproj
- MySolution.Library.Tests.csproj
- (更多库和测试项目)
netstandard2.0
所有测试项目都以.NET Framework 4.7.2和.NET Core 3.1为目标:
net472;netcoreapp3.1
我们有一个Dockerfile,它将解决方案(通过dotnet build MySolution.sln
)构建到一个映像中。然而,这是在Linux上运行的,因此显然我们只想针对.NET Core 3.1进行构建,因为.NET Framework不适用于Linux
我试过:
(由于库项目不针对.NET Core 3.1,因此不起作用)dotnet build-f netcoreapp3.1 MySolution.sln
(由于测试项目不针对.NET标准2.0,因此不起作用)dotnet build-f netstandard2.0 MySolution.sln
如何使其在Linux上构建?为什么不单独编译它们?visual studio中的默认docker支持将在脚本调用
dotnet build“MyProject.csproj”
的每个项目中添加一个Dockerfile
。如果您希望所有组件一起构建,您可以创建一个docker compose
文件,并在此基础上调用docker compose build
。这是一个选项,但我想知道是否有一种更简单的方法不必构建两次。