小编Ste*_*ler的帖子

如何访问 IWebHostBuilder 扩展中的配置

正如主题所说,我不知道如何访问在 CreateWebHostBuilder 中设置的 Configuration 对象。

Code

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

在代码示例中,我想在 CustomExtension 方法中访问 Configuration

c# asp.net-core

10
推荐指数
1
解决办法
4633
查看次数

如何从 T 的自定义实例创建 IOptions&lt;T&gt;(不通过 DI)

我想将一个值传递给一个IOptions<T>参数。

我只能找到使用IOptions<T>配置的示例,但我需要在调用方法时定义自定义值。

c# asp.net-core

8
推荐指数
2
解决办法
5103
查看次数

AddDbContext 中缺少 UseSqlServer

刚刚升级到 asp.net core 2.1,似乎UseSqlServer不再存在于AddDbContext的选项中。(我传入连接字符串的地方)

我应该用什么代替?

c# asp.net-core

7
推荐指数
2
解决办法
5541
查看次数

在 .NET Core 类库中的 Microsoft.AspNetCore.Hosting.Abstractions 程序集中找不到 IWebHostEnvironment

我无法在我的 .NET Core 类库中引用 IWebHostEnvironment 元素。我已经添加了 NuGet 包Microsoft.AspNetCore.Hosting.AbstractionsMicrosoft.Extensions.DepedencyInjection.Abstractions,但它仍然找不到类型。在文档中,IWebHostEnvironment位于 Microsoft.AspNetCore.Hosting.Abstractions 程序集中,但我似乎无法引用正确的程序集。

我需要参考其他任何程序集吗?

项目文件

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>LundbeckConsulting.Components.Core</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.6" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.6" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\LC.Components\LC.Components.csproj" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core asp.net-core

7
推荐指数
1
解决办法
4735
查看次数

_Layout.cshtml上的本地化

我正在尝试在_Layout.cshtml上应用本地化

_Layout.cshtml

@using Microsoft.AspNetCore.Http.Extensions
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization

@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
@inject IViewLocalizer LayoutLocalizer


<!DOCTYPE html>
<html>
<head>

</head>
    <body>
        <div style="margin:38px;margin-top:56px;" class="hidden-sm-down">
            <h2>@LayoutLocalizer["WelcomeHeader"] <b class="text_border_darkblue">MyTitle</b></h2>
            <div style="text-align:center;margin-top:42px;">
                @LayoutLocalizer["WelcomeSub"]
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

资源文件名为:Views.Shared._Layout.no.resx(我尝试重命名为views.shared.Layout.no.resx,但没有任何运气)

c# razor asp.net-core

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

Program.cs中的System.MissingMethodException

创建主机变量时,此异常仅出现在Program.cs中,我没有更新Program.cs中的任何内容,所以我不知道它为什么会出现。我尝试重新启动VS,并在解决方案的所有项目中删除了bin和obj。

例外情况

找不到方法:“ System.Collections.Generic.Dictionary`2 Microsoft.Extensions.Configuration.IConfigurationBuilder.get_Properties()”。

Program.cs

using Microsoft.AspNetCore.Hosting;
using System.IO;

namespace LC.Smokers
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .UseApplicationInsights()
                .Build();

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

Startup.cs

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

    public IConfigurationRoot Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

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

如何让 Docker 在构建时找到引用的项目?

我应该如何在项目文件中引用项目以便 Docker build 找到项目?

项目文件

<ItemGroup>
    <ProjectReference Include="..\Assets.Core\Assets.Core.csproj" />
    <ProjectReference Include="..\Creator.Components\Creator.Components.csproj" />
    <ProjectReference Include="..\LC.Components.Core\LC.Components.Core.csproj" />
    <ProjectReference Include="..\LC.Components\LC.Components.csproj" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
EXPOSE 80
EXPOSE 443

COPY *.csproj ./
RUN dotnet restore

COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /DIRPATH
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Creator.Demo.dll"]
Run Code Online (Sandbox Code Playgroud)

输出

正在确定要恢复的项目...正在跳过项目“C:\Assets.Core\Assets.Core.csproj”,因为找不到该项目。
正在跳过项目“C:\Creator.Components\Creator.Components.csproj”,因为找不到它。正在跳过项目“C:\LC.Components.Core\LC.Components.Core.csproj”,因为找不到它。正在跳过项目“C:\LC.Components\LC.Components.csproj”,因为找不到它。正在跳过项目“C:\Assets.Core\Assets.Core.csproj”,因为找不到它。
正在跳过项目“C:\Creator.Components\Creator.Components.csproj”,因为找不到它。正在跳过项目“C:\LC.Components.Core\LC.Components.Core.csproj”,因为找不到它。正在跳过项目“C:\LC.Components\LC.Components.csproj”,因为找不到它。恢复 C:\app\creator.demo.csproj(282 毫秒内)。

project docker dockerhub dockerfile asp.net-core

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

将网格行限制为指定的数字

是否可以强制网格仅呈现指定数量的行并忽略其余项目?在下面的示例代码中我指定repeat(3, 1fr),所以我想只渲染3行,无论它包含多少项.但这导致4行:

.grid-constrain {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  grid-template-rows: repeat(3, 1fr);
}

.item-1 {
  text-align: center;
  background-color: blue;
}

.item-2 {
  text-align: center;
  background-color: pink;
}
Run Code Online (Sandbox Code Playgroud)
<div class="grid-constrain">
  <div class="item-1">TEST 1</div>
  <div class="item-2">TEST 2</div>
  <div class="item-1">TEST 3</div>
  <div class="item-2">TEST 4</div>
  <div class="item-1">TEST 5</div>
  <div class="item-2">TEST 6</div>
  <div class="item-1">TEST 7</div>
  <div class="item-2">TEST 8</div>
  <div class="item-1">TEST 9</div>
  <div class="item-2">TEST 10</div>
  <div class="item-1">TEST 11</div>
  <div class="item-2">TEST 12</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css css3 css-grid

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

创建一个快捷方式来切换 VSCode 中的大纲视图

我已经成功地为显示大纲面板的outline.focus 创建了一个快捷键。我正在寻找切换行为。

现有

{
    "key": "ctrl+alt+o",
    "command": "outline.focus",
    "when": "editorTextFocus"
}
Run Code Online (Sandbox Code Playgroud)

是否可以??

keymapping visual-studio-code vscode-settings

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

如何使 Powershell 脚本可从任何地方使用

我有一个 Powershell 脚本,我想将其设为“公开”,这意味着我希望能够从任何文件夹执行该脚本,就像从命令提示符执行一样。

这可能吗?

windows powershell

5
推荐指数
2
解决办法
3271
查看次数