我使用Angular环境变量来配置API端点:
.\src\environments:
environment.ts
environment.test.ts
environment.prod.ts
Run Code Online (Sandbox Code Playgroud)
环境文件包含以下设置,这些设置对于本地开发和CI服务器是不同的:
export const environment = {
...
apiUrl: "https://api.sample.com"
};
Run Code Online (Sandbox Code Playgroud)
当我需要构建或启动应用程序时,这工作正常.我可以简单地指定环境参数:
ng serve --environment=test
Run Code Online (Sandbox Code Playgroud)
......但是在运行e2e Protractor测试时似乎无法设置特定的环境.以下命令只是忽略了环境(根据此注释似乎是预期的).始终使用默认环境:
ng e2e --environment=test // same as `ng e2e`
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以使用特定环境运行测试?
我希望使用驼峰式命名约定对我的类进行序列化和反序列化.我知道我可以使用这里所述的JsonConvert.SerializeObject(object, settings)重载:
var serializerSettings = new JsonSerializerSettings();
serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
var json = JsonConvert.SerializeObject(product, serializerSettings);
Run Code Online (Sandbox Code Playgroud)
有没有办法在类级别(通过属性)应用相同的配置,以便我不需要覆盖序列化设置?
我可以编写一个自定义转换器,但这对于这么简单的事情看起来有点过分.
我现在有一个容器运行了 5 周,我既不能停止也不能杀死也不能删除。docker ps显示这一点(两个容器实际上都不能被移除):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
431a850b384f f99983306232 "cmd /c 'start /B C:…" 5 weeks ago Up 5 weeks 0.0.0.0:80->80/tcp dockercompose18429431017078490850_xxx_1
e31f0b74a8cb 50eef858d93d "cmd /c 'start /B C:…" 6 weeks ago Up 6 weeks 0.0.0.0:80->80/tcp dockercompose15856640072218908353_xxx_1
Run Code Online (Sandbox Code Playgroud)
docker stop e31然后docker kill e31就挂了,什么都不做。docker rm e31显示错误:
Error response from daemon: removal of container e31 is already in progress
Run Code Online (Sandbox Code Playgroud)
如果我运行,docker inspect e31我会看到容器正在运行,它并没有死:
"Id": "e31f0b74a8cb8225d5104f8de7e1c583ed1852133ad2870015017b09d3df8dfa",
"Created": "2019-05-08T06:57:24.3143863Z",
...
"State": { …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 Docker 切换到我的 Windows Server Core 1903 计算机(无桌面)上的 Windows 容器。这个页面说 DockerCli 应该能够做到这一点:
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon
Run Code Online (Sandbox Code Playgroud)
DockerCli.exe全新安装 Docker 后没有:
Directory: C:\Program Files\Docker
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 30-09-2019 17:57 cli-plugins
-a---- 03-09-2019 21:58 69282136 docker.exe
-a---- 03-09-2019 21:58 76065624 dockerd.exe
-a---- 21-08-2019 00:05 2454016 libeay32.dll
-a---- 11-05-2017 22:32 56978 libwinpthread-1.dll
-a---- 03-09-2019 16:24 6124 licenses.txt
-a---- 30-09-2019 17:57 142 metadata.json
-a---- 21-08-2019 00:05 357888 ssleay32.dll
-a---- 09-06-2016 22:53 87888 vcruntime140.dll
Run Code Online (Sandbox Code Playgroud)
我还尝试通过 Choco 安装docker-cli …
我正在尝试使用NuGet Installer TeamCity构建步骤为.NET Core解决方案还原NuGet软件包。“ MSBuild自动检测”选择MSBuild v4.0而不是.NET Core项目所需的v15.0:
[15:41:53][restore] Starting NuGet.exe 4.1.0.2450 from C:\TeamCity\buildAgent\tools\NuGet.CommandLine.4.1.0\tools\NuGet.exe
[15:41:53][restore] MSBuild auto-detection: using msbuild version '4.0' from 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319'.
[15:41:53][restore] Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.
[15:41:53][restore] Process exited with code 0
Run Code Online (Sandbox Code Playgroud)
这会导致软件包还原后运行的“ MSBuild” TeamCity步骤中的编译错误:
Assets file 'C:\TeamCity\...\MyProj\obj\project.assets.json' not found.
Run a NuGet package restore to generate this file.
Run Code Online (Sandbox Code Playgroud)
对于“ MSBuild” TeamCity步骤,我按照此SO答案中所述手动选择MSBuildTools版本:

但是我没有为'NuGet Installer'步骤找到类似的设置。我想念什么吗?