小编Ale*_* 75的帖子

运行mocha排除路径

我有这个(在gulpfile.js中):

var gulp = require("gulp");
var mocha = require("gulp-mocha");
gulp.task("test", function() {
    gulp
        .src(["./**/*_test.js", "!./node_modules/**/*.js"]);
});
Run Code Online (Sandbox Code Playgroud)

它的工作原理.

我想从mocha命令复制相同的行为,不包括"node_modules"文件夹,运行npm test(在package.json中):

"scripts": {
    "test": "mocha **\\*_test.js !./node_modules/**/*.js*",
}
Run Code Online (Sandbox Code Playgroud)

它不起作用.

我正在使用Windows.

有什么建议吗?

mocha.js npm

15
推荐指数
6
解决办法
2万
查看次数

上传NuGet包,如何设置license?

我正在尝试在网站上上传一个新的 NuGet 包。
https://www.nuget.org/packages/manage/upload

第一次尝试时,我收到一个错误,提示我需要指定许可证。
我不想但是……好吧。

所以,我第一次尝试使用指定的许可证失败了。我阅读了链接的文档并尝试了多次。
我尝试使用一个<license>属性并在包中包含一个 license.txt 文件。

这些是我对 .nuspec 文件的尝试以及我收到的错误:

<license type="MIT"/>  
    => Error: Unsupported license type 'MIT'.
    (I know it is wrong but I found this "example" here: https://github.com/NuGet/Home/wiki/Packaging-License-within-the-nupkg)

<license type="expression">MIT</license>   
    => Error: To provide a better experience for older clients when a license expression is specified, must be set to 'https://licenses.nuget.org/MIT'.  

<license type="expression">BSD-2-Clause OR MIT</license>
    => Error: To provide a better experience for older clients when a license expression is specified, must be …
Run Code Online (Sandbox Code Playgroud)

licensing nuget

14
推荐指数
1
解决办法
3948
查看次数

GitHub Action Job 可以从上一个作业留下的状态继续(没有工件或复杂的过程)吗?

我之前有一个 GitHub Action,其中有一个 Job 做了 3 件事:

  • 构建 .net 应用程序
  • 运行单元测试
  • 运行集成测试

现在,我将这项工作分成了 3 个不同的部分,因为:

  • 我喜欢尝试
  • 我喜欢看到 GitHub PR 单独更新步骤
  • 我可以/想要并行运行单元测试和集成测试,以便整个过程可以快速完成

这是当前的 GitHub 操作:

name: Pull Request Checks

on: 
  pull_request:
    types: [opened, synchronize, reopened, labeled]
  
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - name: Buid VS solution
      id: build
      run: dotnet build "FSharp project/MyProject.sln" -c RELEASE

  unit-tests:
    name: Unit Tests
    needs: [build]
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - name: Unit Tests …
Run Code Online (Sandbox Code Playgroud)

github-actions

9
推荐指数
1
解决办法
1181
查看次数

在.net core中找不到RIPEMD160

我在 .net core 3.1 中找不到RIPEMD160的任何实现。

Net StandardCore 3.1Core 5.0不存在RIPEMD160 的 MS文档。

System.Security.Cryptography中我找不到与之相关的任何内容。

在寻找第三方包(可能是Chilkat)之前,我想尝试使用框架库。

.net hash .net-core

6
推荐指数
1
解决办法
1724
查看次数

Azure DevOps - 使用另一个变量(嵌套/组合变量)设置构建变量

在 Azure DevOps 中,我有一个管道变量“包版本”,我使用0.1.3$(Rev:.r)-alpha.

在此输入图像描述

我使用该变量来替换 .net core 项目文件中的“版本”。

在构建任务中,dotnet 构建给了我这个错误:

在此输入图像描述

所以我假设 Pipeline 变量不能使用嵌套变量。

有其他方法或不同的语法来做到这一点吗?

[编辑]
嵌套变量应该可以工作。我认为错误是 dotnet pack 使用自动包版本控制设置为“使用内部版本号”,其中包含错误$(rev:.r)(小写!)。

在 VS 项目文件中使用自定义字符串作为 Version 会在 VS 上产生噪音(如果文件打开则出现错误,否则发出警告),现在 Pipeline Build 由于版本无效而在 dotnet nuget 恢复时出现错误。

我决定使用一个简单的干净版本,<Version>0.1.2</Version>我可以选择并记录它。然后我想找到一种方法在构建管道中读取它并创建一个附加构建修订版的自定义变量:
0.1.2$(Rev:.r) => 0.1.2.123

这就是我想要的结果。

我发现了这个: https ://marketplace.visualstudio.com/items?itemName=tmarkovski.projectversionasvariable

我使用的是默认设置。 在此输入图像描述

我使用它创建的变量来组成一个新变量“包版本”:

在此输入图像描述

我在nuget pack任务中使用它:

在此输入图像描述

但它不起作用。
结果变量仍然包含未解析的“$(Rev:.r)”。

我将尝试再次使用“自动包版本控制”并在选项中创建内部版本号...

[编辑 2]
在 Pipeline Build Options 中设置构建版本号。
这不是最佳解决方案,因为内部版本号未解析并且看起来很糟糕。

在此输入图像描述

在此输入图像描述

[解决方案]

$(Rev:.r)在构建/选项之外不可用。
我使用$(Build.BuildNumber)并且能够创建一个组合变量: $(Version.MajorMinor).$(Build.BuildNumber)-alpha

Build.BuildNumber在 Build/Options 中确定:$(Build.DefinitionVersion)$(Rev:.r)

Version.MajorMinor由Project Version …

azure-devops azure-pipelines

5
推荐指数
1
解决办法
7915
查看次数

具有静态成员的 F# 接口

如何在接口中定义静态成员?
为什么不可能呢?

我想强制 F# 类型(类)使用静态方法从字符串(JSON 解析)创建其自身的实例。我想要这个界面示例:

[<Interface>]
type public ILikeJson<'T> =
    abstract member ToJson: unit -> string         // OK
    static abstract member FromJson: string -> 'T  // <-- "static" is not valid here !
Run Code Online (Sandbox Code Playgroud)

或者,字符串的构造函数可以完成这项工作,但静态方法听起来更好,因为它将有一个适当的名称,而且我也不知道如何在接口中定义构造函数。

f# interface

5
推荐指数
1
解决办法
1003
查看次数

为什么 Chrome Date .toLocaleString() 似乎不使用 windows.navigator.language?

根据文档{Date object}。toLocaleString()应使用浏览器默认区域设置(未指定时)。默认语言环境通过navigator.language
可见。

当我的语言环境为“en-GB”时,我希望输出格式为 DD/MM/YYY。
它返回 MM/DD/YYYY(“en”或“en-US”)。
如果我将语言环境指定为“en-GB”,则输出将按预期进行。

为什么 navigator.locale 不用于 .toLocaleString() ?

日期:2021 年 11 月 24 日。

window.navigator.language  // default "locale" ?
new Date().toString()
new Date().toLocaleDateString()  // is not using the window.navigator.language
new Date().toLocaleDateString("en-GB")  // ok, this use the right format
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript locale

5
推荐指数
1
解决办法
1845
查看次数

如何防止 GitHub 项目问题在合并/关闭拉取请求时自动关闭?

我正在使用 GitHub 中的一个项目(新)的板。当拉取请求中有一个问题链接到它并且我关闭拉取请求(使用拉取请求页面底部的 GitHub 按钮)时,问题也会关闭。
我不希望出现这种行为,即使这是该问题的唯一 PR。

我尝试更改项目工作流程设置,删除“拉取请求”“is:已关闭”触发器:

在此输入图像描述

初始状态:Issue 和 PR 均已开放:
在此输入图像描述

合并 PR 到 master: 在此输入图像描述

结果:
在此输入图像描述

该问题也已关闭! 在此输入图像描述

github github-actions

5
推荐指数
0
解决办法
1477
查看次数

Thread.Sleep() 与 Task.Delay().Wait()

异步方法中的代码库是这样的:

Thread.Sleep(500);
Run Code Online (Sandbox Code Playgroud)

一位同事将其重构为这样:

Task.Delay(500).Wait();
Run Code Online (Sandbox Code Playgroud)

考虑到相对较小的延迟,使用异步版本真的有优势吗(Task.Delay())?
如果延迟是几毫秒或几秒,它会改变吗?
更重要的是......击败他不是.Wait()为了异步吗?

为了提供更多上下文,这是在平均每分钟运行一次的后台进程中执行的。

第二种方法不是浪费更多资源吗?(正如这里的一些评论似乎表明的那样)

.net c# task task-parallel-library thread-sleep

3
推荐指数
1
解决办法
104
查看次数

F#函数(前向管道运算符)不适用于数组吗?

我有一个复杂的示例,但是我使用简单的对象简化了案例。

给定2个功能:

let add (a:int)   b = a     + b
let aee (a:int[]) b = a.[0] + b 
Run Code Online (Sandbox Code Playgroud)

它们可以按以下方式使用:

let c = add 1 5 

let a = [|1; 2|]
let d = aee a 5
Run Code Online (Sandbox Code Playgroud)

所以,为什么这是有效的:

let c = 1 |> add 5
Run Code Online (Sandbox Code Playgroud)

这不是吗?

let d = [|1;2|] |> aee 5  // Type mismatch, expecting int[] -> `a but given int -> int
Run Code Online (Sandbox Code Playgroud)

如果很重要,我的实际情况如下:

open FSUnit

type Tick (symbol:string, ask:decimal, bid:decimal) =
    member __.Symbol = symbol
    member __.Ask = …
Run Code Online (Sandbox Code Playgroud)

f#

2
推荐指数
1
解决办法
67
查看次数