小编Bla*_*ell的帖子

VS 测试资源管理器找不到我的单元测试 (XUnit.Runner) ASP.NET 5

我将 ASP.NET 5 与 XUnit 一起使用,而 Visual Studio 在测试资源管理器中找不到我的测试。

我已经多次重建我的项目以使它们刷新。我的测试资源管理器是空的。

有任何想法吗?

这是我的 project.json 文件:

{
  "version": "1.0.0-*",
  "description": "TestLibrary",
  "authors": [ "brivell" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "AutoFixture": "3.38.1",
    "AutoFixture.AutoMoq": "3.38.1",
    "BusinessLibrary": "1.0.0-*",
    "xunit": "2.1.0",
    "xunit.runner.dnx": "2.1.0-rc1-build204"
  },

  "frameworks": {
    "dnx451": { }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的一个测试示例:

[Fact]
public void Traditional()
{
    // Arrange
    var sut = new Calculator();

    // Act
    sut.Subtract(1);

    // Assert
    Assert.True(sut.Value < 0);
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing xunit visual-studio asp.net-core

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

添加需要VS2015凭据的NuGet包源

我正在尝试设置需要凭据的NuGet包源.

以下是说明

我有最新版本的Visual Studio 2015,其中包含最新版本.我知道如何通过VS2015中的UI添加包源,但是这样做时无法指定凭据.

他们要我运行的命令是:

NuGet Sources Add -Name "telerik.com" -Source "https://nuget.telerik.com/nuget" -UserName "<your login email>" -Password "<your password>"
Run Code Online (Sandbox Code Playgroud)

我知道我需要一个nuget.exe来运行这个命令,但是有一种方法可以通过VS直接执行此操作而无需下载任何内容吗?

如果我下载NuGet.exe,打开命令提示符并导航到它以运行该命令,然后我可以从Visual Studio的NuGet包管理器UI中查看它并从Visual Studio的NuGet包管理器控制台访问它吗?我对它如何与Visual Studio内置的NuGet包管理器集成感到困惑.

telerik visual-studio nuget nuget-package visual-studio-2015

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

使用 Web API 执行对象副本时要使用的 RESTFull HTTP 方法

我有一个 ProductsController,我想创建一个复制产品的操作方法。它只需要一个参数,它是一个 Id,它促使我想要使用一个简单的 GET 请求。不过,有些东西告诉我 GET 在这里没有意义。我真的使用 POST 并将单个 Id 传递给此方法吗?

这是我想出的:

// COPY: api/products/{id}/copy
[HttpPost("{id}/copy")]
public void Copy(int id)
{
    _productManager.Copy(sourceProductId: id);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-web-api asp.net-web-api2

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

指定asp.net核心1.0 WebAPI.exe应该在program.cs中为prod和dev使用的url(端口)

我在我的asp.net core 1.0 web api(.NET Framework)program.cs中执行以下操作,以指定我希望我的web api exe运行的端口仅用于开发目的:

public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseKestrel()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseStartup<Startup>()
        .UseUrls(new string[1] { "http://*:12012" })
        .Build();

    host.Run();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我发布到生产时,这行会导致WebAPI出错,因为我希望exe使用生产web-api url即productionWeb/api/values而不是localhost:12012/values

无论如何,我可以充分利用这两个世界能够指定我希望它在端口12012上运行以用于开发目的,以及生产URL用于产品目的吗?

我目前的解决方案是在发布之前注释掉该行.

c# asp.net asp.net-web-api asp.net-core asp.net-core-1.0

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

引用.NET Core XUnit项目中的标准dll

我正在使用最新版本的XUnit,我按照这些步骤启动了类库(.NET Core)项目.

我整个解决方案中的所有其他库仅使用4.6.1,因此我将pr​​oject.json中的框架部分更改为以下内容:

{
    "frameworks": {
        "net461": {
            "dependencies": {
                "Microsoft.NETCore.Platforms": "1.0.1-rc2-24027"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的解决方案中一切正常.我能够运行测试,所有对其他库的引用工作正常,即使它们只有461.基本上,在我的解决方案中,我有几个其他类库(.NET Core),我的XUnit库依赖于它们,所以我只能通过visual studio引用它们,并且引用被添加到XUnit项目的project.json文件中.

出现了我需要执行以下操作的情况:

仅将XUnit项目复制到另一台开发人员计算机.允许他编辑源代码,以便能够创建测试,但不允许他访问所有其他库/代码.我想我可以简单地将所有其他dll复制到一个随机文件夹中,并能够从独立的XUnit项目中引用它们.但是,情况并非如此,因为在尝试引用时,我收到一条错误消息,指出.NET Core项目无法引用标准dll.

有人能告诉我如何做到这一点吗?

c# xunit xunit2 asp.net-core asp.net-core-1.0

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

使用 jQuery 在几个级别上查找父 div 的数据属性值

我正在尝试从具有 data-id 属性的锚标记访问最近的 div。

.parent().parent().parent() 有效,但我真的很想避免这样做。

<div class="panel panel-default" data-id="@customer.Id">
        <div class="panel-heading clearfix">
            @customer.Name
            <div class="pull-right">
                <a class="btn btn-sm btn-default js-deleteCustomer" href="#" title="Delete">
                    <i class="fa fa-trash" aria-hidden="true"></i>
                </a>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

var customerId = $(this).closest("div:has(*[data-id])").attr('data-id');
Run Code Online (Sandbox Code Playgroud)

html javascript jquery jquery-selectors

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

使用按键括号语法查找时在打字稿中使用可选链

我正在尝试在以下内容中使用可选的链接运算符:

productPrice1: product.prices["1"]?.amount.amount_1,
Run Code Online (Sandbox Code Playgroud)

我的问号确保如果键 ["1"] 的子对象不存在,它不会失败。但是,如果价格对象(父对象)也不存在,我也想这样做。

价格是一个带有子对象的对象,这些对象具有诸如“1”、“2”、“3”之类的键。我想首先检查价格是否为空,如果不是,则检查 ["1"] 是否存在。

我最初的尝试是尝试这个,但它不起作用:

productPrice1: product.prices?["1"]?.amount.amount_1,
Run Code Online (Sandbox Code Playgroud)

我试图避免执行以下操作,并想知道这是否是我唯一的选择:

productPrice1: product.prices != null ? product.prices?["1"]?.amount.amount_1 : null,
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

使用ViewModel中的DataAnnotations在ASP.NET MVC中进行日期验证

我的页面的ViewModel中有一个DateTime属性.我想知道是否有内置的检查用户输入有效日期的方法.

以下是我当前代码的样子,截至目前,它不会自动确保用户输入有效日期(只需要验证):

ViewModel属性:

[Required]
[DataType(DataType.Date)]
public DateTime MyDate{ get; set; }
Run Code Online (Sandbox Code Playgroud)

Razor MVC6观点:

<label asp-for="MyDate" class="control-label"></label>
<input asp-for="MyDate" class="form-control" />
<span asp-validation-for="MyDate" class="text-danger" />
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc data-annotations unobtrusive-validation

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

在ASP.NET MVC应用程序中在Global.asax级别配置最新版本的AutoMapper

我试图弄清楚如何在Global.asax级别配置新的AutoMapper。

我以前使用旧的AutoMapper执行以下操作:

在App_Start文件夹中创建一个名为MappingProfile.cs的类,并在构造函数中添加如下所示的映射:

public MappingProfile()
{
     Mapper.CreateMap<Product, ProductDto>();
     Mapper.CreateMap<ApplicationUser, UserDto>();
}
Run Code Online (Sandbox Code Playgroud)

然后在Global.asax中调用:

Mapper.Initialize(cfg => cfg.AddProfile<MappingProfile>());
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何使用新版本的AutoMapper实现上述目标吗?我一直在阅读文档,但似乎无法理解。

我相信我在MappingProfile.cs文件中做了这样的事情:

    var config = new MapperConfiguration(cfg =>
    {
       cfg.CreateMap<Product, ProductDto>();
       cfg.CreateMap<ApplicationUser, UserDto>();
    });
Run Code Online (Sandbox Code Playgroud)

但是我该如何使用config变量?

c# asp.net-mvc automapper

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

使用dotnet CLI和VSCode创建和引用类库就像在Visual Studio中一样

我想开始使用vscode来开发.net核心应用程序,但我对如何将类库创建为单独的项目并引用它们感到困惑.

例如:在Visual Studio解决方案中,我将向该解决方案添加一个Web API项目,然后添加几个类库.根据需要右键单击Web API项目和"添加引用".

即使没有解决方案概念,可以使用VS Code和dotnet CLI完成同样的事情吗?

c# asp.net visual-studio-code asp.net-core dotnet-cli

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