小编Ale*_*lex的帖子

如何在测试类中注入配置设置(ASP.NET Core)?

SmtpConfig包含我想在测试类中使用的凭据.appsettings.development.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "SmtpConfig": {
    "credentials": "username:password"
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里我配置要在类中注入的smtpConfig(在控制器类中工作得非常好!)Startup.cs

public IConfigurationRoot Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
      services.AddMvc();

      services.Configure<SmtpConfig(
         Configuration.GetSection(nameof(SmtpConfig)
      ));
}
Run Code Online (Sandbox Code Playgroud)

我想在测试中从appsettings.development.json访问凭据,因为在另一台服务器上我将有另一个配置文件.

//important usings
using Microsoft.Extensions.Options;
using Microsoft.VisualStudio.TestTools.UnitTesting;

[TestClass]
    public class SomeControllerAPITest
    {
       private SmtpConfig _smtpConfig;

        public SomeControllerAPITest(IOptions<SmtpConfig> smtpConfig)
        {
            _smtpConfig = smtpConfig.Value;
        }


        [TestMethod]
        public void Post_ReturnsCreatedInstance()
        {
            var credentials = _smtpConfig.credentials;

            //use that credentials
            ...

            //call remote server
            ...
        } …
Run Code Online (Sandbox Code Playgroud)

c# testing unit-testing dependency-injection smtp

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

如何使用 WixToolset v3.11 修改 json

我想修改现有 json 文件中的值。

当我运行我的安装程序时,我输入指向我的 API 的服务器名称。输入服务器名称后,我想在应用程序设置json文件中添加该值。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

.net wpf json windows-installer wix

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

如何在asp.net核心中更改汇编信息?

我想版本化我的asp.net核心应用程序.

我按照以下链接:http://www.matthiaseinig.de/2013/05/20/auto-generate-fileversion-for-all-projects-in-a-solution-with-t4/,但我想删除项目装配信息,但我没有找到它.

如何删除重复的程序集信息?我想用另一个文件覆盖asp核心程序集.

在此输入图像描述 在此输入图像描述 在此输入图像描述

更好的解决方案

过了一会儿,我意识到最好的解决方案是使用T4文件,每次构建后版本会自动递增.

看这里:

http://www.matthiaseinig.de/2013/05/20/auto-generate-fileversion-for-all-projects-in-a-solution-with-t4/

auto-versioning assembly-attributes .net-assembly .net-core asp.net-core

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

如何将分支合并到master而不做任何更改?

我想将集成分支合并到主分支中,但我不想仅仅为了看起来不错而更改任何内容。

积分分支是灰色的。这个分支包含了很多改动,我想搞一招。要重置它,当与主服务器分离时,因为我可以看到最后的更改并将它们与主服务器上的一次提交一起放置。因此,master 将包含来自集成分支的文件的最新版本,但集成将保持与 master 分离。

我想将集成合并到 master 中,仅在视觉上(不进行更改),以便在历史记录中看起来不错,因为我已经通过该单一提交进行了更改。

在此输入图像描述

最后一个问题是:如何合并 master 中的集成而不对 master 进行更改,而仅影响历史记录(视觉上)?

我想这样做是因为:

  • 在我从主项目结构中拆分集成后进行了修改,现在我遇到了很多冲突。手动合并更容易。之后,我只想“合并”master 上的集成,而不进行更改(因为已经存在)。

git git-extensions git-branch

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

如何在csproj文件中获取环境变量?

我想在csproj中获取环境变量,因为那里存在一个条件,该条件将appsettings从发布中排除。

在此处输入图片说明 在此处输入图片说明
我想要这个是因为我的appsettings不依赖于Solution Configuration,它们仅取决于环境变量。

而不是'$(Configuration)'!= Debug'我想要的东西是'envVariable!= Development'等。

还是排除与环境变量有关的那些文件的另一种方法?

在C#中是这种方法: Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT ").

.net environment-variables appsettings

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