小编Dan*_*now的帖子

如何从单个 Docker 映像定位多个 .NET Core 版本?

我有一个针对.NET Standard 2.0的库。为了验证兼容性,我想使用 .NET Core 的当前版本和长期支持 (LTS) 版本运行单元测试。当写这个问题时,这些是:

目标框架 目标框架名称 (TFM)
.NET 5.0(当前) 网络5.0
.NET Core 3.1(LTS) netcoreapp3.1
.NET Core 2.1(LTS) netcoreapp2.1

设置 csproj 文件以针对多个框架非常容易:

<PropertyGroup>
  <TargetFrameworks>netcoreapp2.1;netcoreapp3.1;net5.0</TargetFrameworks>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

当安装了所有这些 SDK 后,这对于本地构建非常有效。但是,我更喜欢在单个轻量级 Docker 容器上进行 CI 构建。我不担心验证 .NET Framework 支持,因此我不需要 Windows。Docker Hub 上的.NET SDK 映像适用于任何单一框架(即mcr.microsoft.com/dotnet/sdk:5.0),但我想找到一个包含所有这三个 SDK 的 Docker 映像,而无需承担以下负担: “厨房水槽”图像,例如GitHub 托管的运行程序,其中包含许多不相关的框架和工具。

我可以编写自己的Dockerfile,从基本映像开始并编写额外 SDK 的安装脚本,但我肯定不是唯一可以使用此类内容的人。某个地方是否已经存在合适的 Docker 镜像?我是否应该采取不同的方法来解决这个问题,例如使用setup-dotnet或等效方法编写 SDK 安装脚本?

docker .net-core

13
推荐指数
1
解决办法
5095
查看次数

在我的基于WiX的MSI项目中,为什么ICE24告诉我'2014.1.1.4'是无效的版本字符串?

我正在使用WiX 3.7来构建MSI.当我构建我的*.wixproj项目时,我收到以下错误:

error LGHT0204: ICE24: ProductVersion: '2014.1.1.4' is an invalid version string.
Run Code Online (Sandbox Code Playgroud)

我的公司使用了一种不寻常的版本控制惯例,其中发行年份是主要版本.但根据这篇博客,

版本字符串的格式为xxxxx.xxxxx.xxxxx.xxxxx,其中x是数字.可接受的最大版本字符串为65535.65535.65535.65535.

如果这是真的,那么为什么ICE24会触发此产品版本?

windows-installer wix wix3.7

4
推荐指数
1
解决办法
1339
查看次数

当我从SQL Server导入tinyint列到Oracle 10g时,为什么会得到负值?

我最近遇到了一个问题,我们正在运行一个数据迁移脚本,以通过Oracle DBLink将数据从SQL Server迁移到Oracle 10g。一切正常,直到我们在生产Oracle环境中运行脚本为止。对于在SQL Server中定义为tinyint的某些列,我们发现SQL Server数据库中大于127的值现在为负值(比原始值小256)。为什么该脚本在开发和测试数据库中起作用,而在生产中却不起作用?

sql-server dblink character-encoding oracle10g

0
推荐指数
1
解决办法
1427
查看次数