正如主题所说,我不知道如何访问在 CreateWebHostBuilder 中设置的 Configuration 对象。
Code:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.CustomExtension();
Run Code Online (Sandbox Code Playgroud)
在代码示例中,我想在 CustomExtension 方法中访问 Configuration
我想将一个值传递给一个IOptions<T>参数。
我只能找到使用IOptions<T>配置的示例,但我需要在调用方法时定义自定义值。
刚刚升级到 asp.net core 2.1,似乎UseSqlServer不再存在于AddDbContext的选项中。(我传入连接字符串的地方)
我应该用什么代替?
我无法在我的 .NET Core 类库中引用 IWebHostEnvironment 元素。我已经添加了 NuGet 包Microsoft.AspNetCore.Hosting.Abstractions和Microsoft.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) 我正在尝试在_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,但没有任何运气)
创建主机变量时,此异常仅出现在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) 我应该如何在项目文件中引用项目以便 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 毫秒内)。
是否可以强制网格仅呈现指定数量的行并忽略其余项目?在下面的示例代码中我指定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)
我已经成功地为显示大纲面板的outline.focus 创建了一个快捷键。我正在寻找切换行为。
现有:
{
"key": "ctrl+alt+o",
"command": "outline.focus",
"when": "editorTextFocus"
}
Run Code Online (Sandbox Code Playgroud)
是否可以??
我有一个 Powershell 脚本,我想将其设为“公开”,这意味着我希望能够从任何文件夹执行该脚本,就像从命令提示符执行一样。
这可能吗?
asp.net-core ×7
c# ×6
.net ×1
.net-core ×1
css ×1
css-grid ×1
css3 ×1
docker ×1
dockerfile ×1
dockerhub ×1
html ×1
keymapping ×1
powershell ×1
project ×1
razor ×1
windows ×1