小编iSa*_*rma的帖子

以下构造函数参数没有匹配的灯具数据

我正在尝试使用我的控制器进行测试,xUnit但在执行Customer Controller的过程中收到以下错误:

“以下构造函数参数没有匹配的夹具数据:CustomerController customerController”

测试班

public class UnitTest1
{
    CustomerController _customerController;

    public UnitTest1(CustomerController customerController)
    {
        _customerController = customerController;
    }

    [Fact]
    public void PostTestSuccessful()
    {
        Guid guid = Guid.NewGuid();

        CustomerViewModel model = new CustomerViewModel()
        {
            Id = guid,
            Name = "testName",
            Email = "test email",
            PhoneNumber = "test phone",
            Address = "test address",
            City = "test city",
            Gender = "Male"
        };

        var actionResult = _customerController.Post(model);

        Assert.NotNull(actionResult);
        Assert.IsType<Task<IActionResult>>(actionResult);
        Assert.True(actionResult.IsCompletedSuccessfully);
    }
Run Code Online (Sandbox Code Playgroud)

CustomerController类

[Route("customers")]
public class CustomerController : ControllerBase
{
    private readonly …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing xunit .net-core

9
推荐指数
4
解决办法
2万
查看次数

System.MethodAccessException: '尝试通过方法'Microsoft.Extensions.Logging.Configuration 问题

在 .NETCore 中,在Program.cs文件中运行应用程序时CreateWebHostBuilder(args).Build().Run();

我收到异常

“System.MethodAccessException:'尝试通过方法'Microsoft.Extensions.Logging.Configuration.LoggerProviderConfigurationFactory.GetConfiguration(System.Type)'访问方法'Microsoft.Extensions.Logging.ProviderAliasUtilities.GetAlias(System.Type)'失败。'”

在方法

 public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题。我尝试通过卸载和安装 Microsoft.AspNetCore 但没有用,请查看我的依赖项的屏幕截图我在项目中添加的依赖项

除了 Microsoft.Extension.Logging 之外,所有版本的依赖项都相同。版本差异有什么问题吗。有人可以帮我解决这个问题吗?

c# exception asp.net-core

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

将表名称传递给 dbContext 并从实体框架中的表中获取值

我有一DbContext堂课,我在我的应用程序中使用代码优先方法。我有几个包含"Id""Value"列的常见标准表,我想通过表名和列名来查询它们,但实体框架中没有选项可以传递。

例子:

常用表:

Client_ClientDepartment (Id, Value) 
Client_ClientDesignation (Id, Value)
Client_ClientCompany (Id, Value)
Run Code Online (Sandbox Code Playgroud)

我想要做的是传递表名并Id获取值。我创建了一个通用方法

    public string GetClientValue(string id, string tableName)
    {
        DatabaseContext dbContext = new DatabaseContext();
        //Query the database and get value based on table and id.
        string value = dbContent. ("query here")             
        return value ;
    }
Run Code Online (Sandbox Code Playgroud)

我可以在实体框架中实现吗?是否可以?

c# sql sql-server entity-framework

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

对于动态加载的 Razor 类库,ASP.NET Core 运行时编译失败并显示“无法找到包的编译库位置”

我正在使用以下代码将 Razor 类库动态加载到我的ASP.NET Core 3.0应用程序中:

var pluginAssembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(file.FullName);
var partFactory = ApplicationPartFactory.GetApplicationPartFactory(pluginAssembly);
foreach (var part in partFactory.GetApplicationParts(pluginAssembly))
    MvcBuilder.PartManager.ApplicationParts.Add(part);

var relatedAssemblies = RelatedAssemblyAttribute.GetRelatedAssemblies(pluginAssembly, throwOnError: true);
foreach (var assembly in relatedAssemblies)
{
    partFactory = ApplicationPartFactory.GetApplicationPartFactory(assembly);
    foreach (var part in partFactory.GetApplicationParts(assembly))
        MvcBuilder.PartManager.ApplicationParts.Add(part);
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,控制器和视图最初正在工作。但是,如果我还将Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包和以下内容添加到Startup.cs

services.Configure<MvcRazorRuntimeCompilationOptions>(options =>
    {
        options.FileProviders.Add(new PhysicalFileProvider(Path.Combine(WebHostEnvironment.ContentRootPath, "..\\AppPlugin")));
    });
Run Code Online (Sandbox Code Playgroud)

我一编辑*.cshtml-file就会收到以下异常:

InvalidOperationException:找不到包“AppPlugin”的编译库位置

  • Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths(ICompilationAssemblyResolver 解析器,列表程序集)
  • Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths()

  • Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPartExtensions+<>c.b__0_0(CompilationLibrary 库)

  • System.Linq.Enumerable+SelectManySingleSelectorIterator.MoveNext()
  • System.Collections.Generic.List.InsertRange(整数索引,IEnumerable集合)
  • Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RazorReferenceManager.GetReferencePaths()

  • Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RazorReferenceManager.GetCompilationReferences()

我还需要加载其他东西才能使其正常工作吗?
如果我从FileProviders运行时编译中省略插件路径,则适用于“非插件视图”。

c# asp.net-mvc plugins razor asp.net-core

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

System.IO.File 类的 WriteAllTextAsync 方法不输出大于 4kb 的文本

WriteAllTextAsync如果字符串大小超过 4kb,则AppendAllTextAsync方法无法写入字符串内容。我假设这是某种缓冲区限制,但这些方法不支持接受缓冲区大小作为参数的重载方法。我正在使用.net框架4.7.2

当使用类WriteAllText的 或AppendAllText方法时File,输出文件的长度为 254 kb,并写入整个文本,但使用Async这些方法的版本时,仅写入 4kb 的输出。

//Populate jsonString variable with a very large string
string jsonString = "placeholder for string content"; 

//Below code will output partial string till 4kb in length
File.AppendAllTextAsync("temp.json", jsonString);

//Below code outputs the entire content
File.AppendAllText("temp.json", jsonString);
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种行为以及问题的解决方案吗

.net c#

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

使用 Aggregate() 查询给出异常的带有组和项目的 MongoDb C# 驱动程序

我正在开发MongoDb用作数据库和.Net Core 3.0框架的应用程序。为了从数据库中提取数据,我创建了一个DbContext类和使用Aggregation()的功能MongoDb。我无法通过适当的投影。以下是代码DbContext.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Linq.Expressions;
    using Microsoft.Extensions.Options;
    using MongoDB.Driver;

    namespace Test.DbContext
    {
        /// <summary>
        /// Standard CRUD Operations with MongoDb  
        /// </summary>
        public class MongoDbContext   
        {
            #region Properties
            private readonly IMongoClient _mongoDbClient = null;

            private readonly IMongoDatabase _mongoDb = null;
            #endregion

            #region Constructor
            public MongoDbContext(IOptions<MongoSetting> mongoConfigs)
            {
                _mongoDbClient = new MongoClient(mongoConfigs.Value.ConnectionString);
                _mongoDb = _mongoDbClient.GetDatabase(mongoConfigs.Value.DatabaseName);
            }
            #endregion

            #region Grouping
            public IList<TProjection> GroupBy<TDocument, TGroupKey, TProjection> …
Run Code Online (Sandbox Code Playgroud)

c# linq mongodb aggregation-framework

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

Html Helper下拉列表不会呈现下拉列表中的项目列表

我正在尝试使用以下代码使用Html Helper(Html.DropdownList)在MVC中创建下拉列表,但该列表未在UI上呈现.我试图将DropDownList绑定到一个IEnumerable的SelectListItems集合,但没有得到确切的结果.有人可以指出缺失的链接.这是https://dotnetfiddle.net/26h7xa代码的提琴手,下面是代码:

项目模型:

using System;
using System.ComponentModel.DataAnnotations;

namespace HelloWorldMvcApp
{
    public class Employee
    {
        public Guid Id { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string Salary { get; set; }

        public string Designation { get; set; }

        public DateTime DateOfJoining { get; set; }

        public bool Status { get; set; }
    }    
}
Run Code Online (Sandbox Code Playgroud)

控制器:

using System;
using System.Web.Mvc;
using System.Collections.Generic;

namespace HelloWorldMvcApp
{
    public class HomeController …
Run Code Online (Sandbox Code Playgroud)

html c# asp.net-mvc

-1
推荐指数
1
解决办法
220
查看次数