背景
大家好,
基本上,我在.NET核类库中编写自定义数据注释,它将验证IEnumerable至少具有一定数量的元素.
问题
出于某种原因,在运行验证时,永远不会调用IsValid.我已经找到了一些关于这个问题的其他SO问题,但它们都有一个与我不同的问题(基本上,它们实际上并没有验证它们的对象).但是,我正在验证我的对象(调用Validator.TryValidateObject(...)
),然而,从未调用过IsValid.
如果我使用任何开箱即用的验证属性(例如必需),它将按预期运行.
代码
MinElementsAttribute.cs
public class MinElementsAttribute : ValidationAttribute
{
readonly int minElements;
public MinElementsAttribute(int minElements) : base($"Collection must have a size of at least {minElements}")
{
this.minElements = minElements;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
var list = value as IEnumerable<object>;
if(list == null || list.Count() < this.minElements)
{
return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));
}
return ValidationResult.Success;
}
}
Run Code Online (Sandbox Code Playgroud)
MinElementsTests.cs
[Fact]
public void TestValidation()
{
var validationResults = new List<ValidationResult>();
var testObject …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 .NET Core 命令行应用程序作为我的构建系统的 CLI。构建系统的这一部分涉及从类库生成 NuGet 包。我正在使用ProcessStartInfo.cs
并Process.cs
调用以nuget.exe
发出 pack 命令(nuget.exe
位置在系统中PATH
)。
dotnet pack
.我面临的问题是,在我的个人机器上,当我运行构建系统 CLI 时,一切正常;但是,当我的构建服务器运行它时,该进程似乎尝试启动,但随后退出而不抛出异常或返回任何类型的退出代码。两个帐户(我在本地机器上的帐户和运行构建服务器的帐户)都是本地管理员帐户。
Cmd.cs(执行进程)
public static class Cmd
{
public static int Execute(string filename, string arguments)
{
var startInfo = new ProcessStartInfo
{
CreateNoWindow = true,
FileName = filename,
Arguments = arguments, …
Run Code Online (Sandbox Code Playgroud) 我想在 .NET Core 1.1 中编写一个小型的个人 Web 应用程序来与 YouTube 交互并让我更轻松地做一些事情,我正在关注Google 的 YouTube 文档中的教程/示例。听起来很简单,对吧?;)
使用 Google 的 API 进行身份验证似乎是不可能的!我做了以下工作:
但是,当我尝试使用 Google 的 API 进行身份验证时,收到以下错误:
- 那是一个错误。
错误:redirect_uri_mismatch
请求中的重定向 URI http://127.0.0.1:63354/authorize/与为 OAuth 客户端授权的不匹配。
所以现在,对于这个问题。在为此寻找解决方案时,我唯一能找到的是人们说
只需将重定向 URI 放在您批准的重定向 URI 中
不幸的是,问题是每次我的代码尝试使用 Google 的 API …
c# ×3
.net ×1
.net-core ×1
asp.net ×1
asp.net-core ×1
google-api ×1
validation ×1
windows ×1
youtube-api ×1