我无法找到有关如何对.NET Standard 1.6类库(可以从.NET Core项目中引用)进行单元测试的最新文档.
这是project.json我的图书馆的样子:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0",
"Portable.BouncyCastle": "1.8.1.2"
},
"frameworks": {
"netstandard1.6": {}
}
}
Run Code Online (Sandbox Code Playgroud)
现在剩下的任务是能够创建某种可以进行单元测试的项目.目标是使用xUnit,因为这似乎是.NET Core团队正在推动的.
我继续创建了另一个.NET可移植的库项目,它有一个如下所示的project.json:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0",
"xunit": "2.2.0-beta4-build3444",
"xunit.runner.visualstudio": "2.1.0"
},
"frameworks": {
"netstandard1.6": {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在该项目中的测试类如下所示:
using USB.EnterpriseAutomation.Security.DotNetCore;
using Xunit;
namespace Security.DotNetCore.Test
{
public class AesEncryptionHelperTests
{
[Fact]
public void AesEncryptDecrypt()
{
var input = "Hello world!";
var encrypted = AesEncryptionHelper.AesEncrypt(input);
var decrypted = AesEncryptionHelper.AesDecrypt(encrypted);
Assert.Equal(input, …Run Code Online (Sandbox Code Playgroud) 我正在使用NDK(修订版4)和OpenGL ES 2.0为Nexus One编写图形密集的游戏.我们真的在这里推动硬件,并且在大多数情况下它运行良好,除了每隔一段时间我就会遇到这个日志消息严重崩溃:
W/SharedBufferStack(398):waitForCondition(LockCondition)超时(identity = 9,status = 0).CPU可以挂钩.再试一次.
整个系统锁定,反复重复此消息,并在几分钟后重新启动,或者我们必须手动重启.我们使用的是Android OS 2.1,更新1.
我知道其他一些人已经看到过这个bug,有时与音频有关.在我的情况下,它是由它引起的SharedBufferStack,所以我猜这是一个OpenGL问题.有没有人遇到这个,更好的修复它?或者有人知道发生了什么事SharedBufferStack来帮助我缩小范围吗?
我有一个ASP.NET核心应用程序.该应用程序有很少的辅助类可以完成一些工作.每个类都有不同的签名方法.我在网上看到很多.net核心示例,它们为每个类创建接口,然后使用DI框架注册类型.例如
public interface IStorage
{
Task Download(string file);
}
public class Storage
{
public Task Download(string file)
{
}
}
public interface IOcr
{
Task Process();
}
public class Ocr:IOcr
{
public Task Process()
{
}
}
Run Code Online (Sandbox Code Playgroud)
基本上每个接口只有一个类.然后我用DI注册这些类型
services.AddScoped<IStorage, Storage>();
services.AddScoped<IOcr,Ocr>();
Run Code Online (Sandbox Code Playgroud)
但是我可以在没有接口的情况下注册类型,这样接口看起来多余 例如
services.AddScoped<Storage>();
services.AddScoped<Ocr>();
Run Code Online (Sandbox Code Playgroud)
所以我真的需要接口吗?
我有一个表单和一个项目列表.我曾经ng-model="searchFor"适当地过滤掉项目列表(这部分工作正常),但我也想"提交"过滤掉的项目 - 这也需要ng-model="adding_item.name"输入字段(我认为).
你可以ng-models在一个输入字段上有多个?还有另一种方法吗?
我想通过jQuery(POST)将JavaScript字符串数组传递给C#WebMethod:
$.ajax({
type: "POST", // GET or POST or PUT or DELETE verb
url: PageURL + 'ChangeColor', // Location of the service
data: "{ 'OriginalColorHex': '" + JSON.stringify(clipartOriginalColorsHex) + "','ModifiedColorHex':'" + JSON.stringify(clipartModifiedColorsHex) +
"','OriginalColorRGB': '" + JSON.stringify(clipartOriginalColorsRGB) + "','ModifiedColorRGB':'" + JSON.stringify(clipartModifiedColorsRGB) +
"','fileName':'" + clipartFileName + "' }",
contentType: "application/json; charset=utf-8", // Content type sent to server
dataType: "json", // Expected data format from server
processdata: true, // True or False
traditional: true,
success: function (result) { // On Successful …Run Code Online (Sandbox Code Playgroud) 我在C#6.0中编写单元测试(MSTest),我注意到编译器在属性中处理字符串插值的方式有些奇怪.
为什么这样做:
[TestCategory(nameof(MyClass) + "-UnitTest")]
Run Code Online (Sandbox Code Playgroud)
什么时候不这样?
[TestCategory($"{nameof(MyClass)}-UnitTest")]
Run Code Online (Sandbox Code Playgroud)
忽略这可能不是对我的测试进行分类的好方法; 我很好奇为什么编译器允许一个而不是另一个.
我有一个使用net461引用运行的ASP.NET Core 1.0完整应用程序.现在我想添加另一个框架 - netcoreapp1.0.为此,我更新了我的project.json,如下所示:
{
"userSecretsId":"",
"version":"2.4.0-*",
"buildOptions":{
"emitEntryPoint":true,
"preserveCompilationContext":true
},
"dependencies":{
"Microsoft.ApplicationInsights.AspNetCore":"1.0.0",
"Microsoft.AspNetCore.Authentication.Cookies":"1.0.0",
"Microsoft.AspNetCore.Diagnostics":"1.0.0",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore":"1.0.0",
"Microsoft.AspNetCore.Identity":"1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore":"1.0.0",
"Microsoft.AspNetCore.Mvc":"1.0.0",
"Microsoft.AspNetCore.Mvc.TagHelpers":"1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration":"1.0.0",
"Microsoft.AspNetCore.Server.Kestrel":"1.0.0",
"Microsoft.AspNetCore.StaticFiles":"1.0.0",
"Microsoft.EntityFrameworkCore":"1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer":"1.0.0",
"Microsoft.Extensions.Configuration.CommandLine":"1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions":"1.0.0",
"Microsoft.Extensions.Configuration.Json":"1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets":"1.0.0",
"Microsoft.Extensions.Logging":"1.0.0",
"Microsoft.Extensions.Logging.Console":"1.0.0",
"Microsoft.Extensions.Logging.Debug":"1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader":"14.0.0",
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc":"1.0.0-preview2-final"
},
"tools":{
"BundlerMinifier.Core":"2.0.238",
"Microsoft.AspNetCore.Razor.Tools":"1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools":"1.0.0-preview2-final",
"Microsoft.Extensions.SecretManager.Tools":"1.0.0-preview2-final"
},
"commands":{
"ef":"EntityFramework.Commands",
"web":"Microsoft.AspNetCore.Server.Kestrel"
},
"frameworks":{
"net461":{
},
"netcoreapp1.0":{
"imports":[
"dotnet5.6",
"portable-net45+win8"
]
}
},
"runtimes":{
"win10-x64":{
},
"win81-x64":{
},
"win8-x64":{
},
"win7-x64":{
}
},
"publishOptions":{
"exclude":[
"**.user",
"**.vspscc",
"wwwroot",
"node_modules"
]
},
"scripts":{
"prepublish":[
"npm …Run Code Online (Sandbox Code Playgroud) 我们有一个调用客户端请求我们的系统没有将Bearer令牌放在标准位置('Authorization'标题)我想创建一个自定义处理程序,在正确的位置查找JWT.除了分支JwtBearerMiddleware实现是否有任何更清洁的方式我可以告诉中间件使用什么处理程序?
更简单的选择是通过在JWT中间件运行之前将JWT注入请求管道中的正确位置(请求头)来重写请求.但这似乎有点hacky.
.net asp.net-authorization jwt asp.net-core asp.net-core-middleware
我正在尝试构建一个.NET Core app docker镜像.但我无法弄清楚我应该如何将项目的NuGet依赖项放入图像中.
为简单起见,我创建了一个.NET Core控制台应用程序:
using System;
using Newtonsoft.Json;
namespace ConsoleCoreTestApp
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine($"Hello World: {JsonConvert.False}");
}
}
}
Run Code Online (Sandbox Code Playgroud)
它只有一个NuGet依赖Newtonsoft.Json.当我从Visual Studio运行应用程序时,一切正常.
但是,当我从项目创建Docker镜像并尝试从那里执行应用程序时,它无法找到依赖项:
# dotnet ConsoleCoreTestApp.dll
Error: assembly specified in the dependencies manifest was not found -- package: 'Newtonsoft.Json', version: '9.0.1', path: 'lib/netstandard1.0/Newtonsoft.Json.dll'
Run Code Online (Sandbox Code Playgroud)
这是预期的,因为Newtonsoft.Json.dllVisual Studio没有将其复制到输出文件夹.
这是Dockerfile我正在使用的:
FROM microsoft/dotnet:1.0.0-core
COPY bin/Debug /app
Run Code Online (Sandbox Code Playgroud)
是否有推荐的方法来处理这个问题?
我不想dotnet restore在容器内部运行(因为我不希望每次容器运行时都重新下载所有依赖项).
我想我可以添加一个RUN dotnet restore条目Dockerfile但是我不能再microsoft/dotnet:<version>-core用作基本图像了. …
我正在尝试使用 Google Drive API (v3) 更新 Google Drive 中的文档。
我已阅读此迁移指南: Google Drive API v3 迁移
并对其进行编码以创建一个新的空 File(),其中包含我想要更新的详细信息,然后使用该信息和文件 ID 调用execute()。但我仍然收到错误。谁能指出我做错了什么?多谢!!
错误:
{
"code" : 403,
"errors" : [{
"domain" : "global",
"message" : "The resource body includes fields which are not directly writable.",
"reason" : "fieldNotWritable"
}],
"message" : "The resource body includes fields which are not directly writable."
}
Run Code Online (Sandbox Code Playgroud)
代码片段如下:
File newFileDetails = new File();
FileList result = service2.files().list()
.setPageSize(10)
.setFields("nextPageToken, files(id, name)")
.execute();
List<File> files = result.getFiles();
if (files …Run Code Online (Sandbox Code Playgroud) .net ×4
.net-core ×4
c# ×4
asp.net-core ×3
project.json ×2
ajax ×1
android ×1
android-ndk ×1
angularjs ×1
c#-6.0 ×1
coreclr ×1
docker ×1
forms ×1
java ×1
javascript ×1
jquery ×1
jwt ×1
nexus-one ×1
xunit.net ×1