小编Orw*_*wel的帖子

VS 2017 RC:我无法更新Nuget中的NETStandard.Library

从最后(或可能是最后两次)更新,我无法在Nuget中更新软件包NETStandartLibrary.我只是创建一个新的标准库项目.看到这条消息:

在此输入图像描述

在项目的属性中,版本是不同的:

在此输入图像描述

在.csproj中:

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

   <PropertyGroup>
       <TargetFramework>netstandard1.4</TargetFramework>
   </PropertyGroup>

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

在Nuget中,我添加了依赖项'Microsoft.EntityFrameworkCore',然后我收到了警告:

警告检测到的包降级:NETStandard.Library从1.6.1到1.6.0 AgainTest(> = 1.0.0) - > Microsoft.EntityFrameworkCore(> = 1.1.0) - > NETStandard.Library(> = 1.6.1)AgainTest( > = 1.0.0) - > NETStandard.Library(> = 1.6.0)

我在项目的属性中选择高版本,但警告继续.

  • 所有这些版本号都是什么?
  • 我该如何解决此警告?

.net-core visual-studio-2017 .net-standard

15
推荐指数
2
解决办法
4502
查看次数

Razor模板中的特殊字符未正确编码

我用ASP.NET Core MVC做了一些测试.我试图展示像çùé这样的特殊角色.

但它显示为 .

例如:

创建新视图并放置:

<div>àçù</div>
Run Code Online (Sandbox Code Playgroud)

默认情况下,.cshtml文件以"UTF-16"编码.HTTP响应头中的字符集是"UTF-8".在_layout中,<head>包含<meta charset="utf-8" />标记.

要解决此问题,我可以将所有.cshtml文件转换为uft-8.

在ASP MVC Core中管理编码的正确方法是什么?

编辑:

Visual Studio 2017 RC在'utf-8'中创建.cshtml文件,但脚手架在'ISO 8851-1'中创建.cshtml文件.

我可以向脚手架解释我想要'UTF-8'中的.cshtml文件吗?

asp.net-core-mvc asp.net-core

11
推荐指数
1
解决办法
2575
查看次数

Android视图 - 活动中自动保存和恢复的内容

我是Android的初学者.

在Android中,一些通用元素可以在onSaveInstanceState/中自动保存/恢复onRestoreInstanceState.

例如,EditText保存/恢复Text属性,RatingBar保存/恢复Rating属性...

我从一些测试中看到,但我在文档中找不到任何相关内容.

如果没有我的干预,我怎么能知道隐含地保存/恢复了什么?

例如,我可以找到EditText.Text自动保存/恢复的地方?

我特别不想测试所有属性.


从JRG回复编辑:

https://developer.android.com/guide/components/activities/activity-lifecycle.html

保存活动状态当您的活动开始停止时,系统将调用onSaveInstanceState()方法<...>此方法的默认实现保存有关活动视图层次结构状态的瞬态信息,例如EditText小部件中的文本或ListView小部件的滚动位置.

我怎么知道保存/恢复的默认实现是什么?

重读JRG后的第二次编辑回答:

默认情况下,系统使用Bundle实例状态来保存有关活动布局中每个View对象的信息(例如输入到EditText小部件中的文本值).

默认实现保存/恢复元素视图的所有状态.

android activity-lifecycle android-savedstate

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

Visual Sstudio 2022 Current 中的热重载不适用于现有 Blazor 应用程序

在使用 VS 2022 预览版几次迭代后,我将其删除并在 VS 2022 Current 可用时安装了它。

现有 Blazor 托管应用程序不会在文件保存或按热重载按钮时热重载。它在预览版本中重新加载“良好”。无论我是否在调试的情况下运行它都没有关系。

使用新安装的版本创建的新应用程序会进行热重载。

我没有看到 *.csproj 或 launchSettings.json 文件有任何重要区别。他们都针对net6.0。我还删除了 .vs 目录并清理了解决方案。

唯一的区别是我的项目在新应用程序模板中使用 Program.cs 和 Startup.cs 而不是仅使用 Program.cs,但这并不重要。或者,是吗?

是什么阻止 Visual Studio 热重载现有应用程序?

更新

切换到单个 Program.cs 和 WebApplication 构建器确实有所帮助。现在热重载无需调试即可工作。通过调试,VS 表示它应用了更改,但它们并未应用在屏幕上。

我仍然想知道为什么需要进行此更改以及如何在调试时启用热重载?

blazor blazor-webassembly .net-6.0 visual-studio-2022 hosted-blazor-webassembly

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

异步更新属性

当我的 ViewModel 的属性更新时,其他属性会异步更新。

Todo.cshtml:

@page "/todo"

<h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>

<ul>
    @foreach (var todo in todos)
    {
        <li>
            <input type="checkbox" bind="@todo.IsDone" />
            <input bind="@todo.Title" />
        </li>
    }
</ul>

<input placeholder="Something todo" bind="@newTodo"/>
<button onclick="@AddTodo">Add todo</button>

@functions {
    IList<TodoItem> todos = new List<TodoItem>();


    string newTodo;
    void AddTodo()
    {
        if (!string.IsNullOrWhiteSpace(newTodo))
        {
            todos.Add(new TodoItem { Title = newTodo });
            newTodo = string.Empty;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

TodoItem.cs:

public class TodoItem
{
    private bool _isDone;

    public string Title { get; set; }
    public bool …
Run Code Online (Sandbox Code Playgroud)

.net c# blazor

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

Blazor/Electron:处理关闭事件

我已经开始使用 Blazor/Electron 进行实验性应用。

我已经分叉了这个项目:https : //github.com/SteveSandersonMS/BlazorElectronExperiment.Sample

当应用程序关闭时,需要保存应用程序的状态。为此,我认为它需要处理关闭事件并在最终关闭之前保存应用程序的状态。

关闭事件如何处理?你有其他解决方案吗?

.net c# electron blazor

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

如何加密.NET Core中的App.config文件?

我创建了一个新的 .NET Core 2.1 控制台项目。我添加了 Config.xml:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
      <add name="MyLocalSQLServer" connectionString="Initial Catalog=aspnetdb;data source=localhost;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

在Program.cs中:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(ConfigurationManager.ConnectionStrings["MyLocalSQLServer"]);            
    }
}
Run Code Online (Sandbox Code Playgroud)

使用aspnet_regiis,我加密了配置文件:

RENAME "C:\repos\ConsoleApp7\bin\Debug\netcoreapp2.1\ConsoleApp.dll.config" web.config
aspnet_regiis -pef "connectionStrings" "C:\repos\ConsoleApp\bin\Debug\netcoreapp2.1"
RENAME "C:\repos\ConsoleApp7\bin\Debug\netcoreapp2.1\web.config" ConsoleApp.dll.config
Run Code Online (Sandbox Code Playgroud)

最后,我运行了该应用程序:

dotnet "C:\repos\ConsoleApp7\bin\Debug\netcoreapp2.1\ConsoleApp.dll"
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Unhandled Exception: System.Configuration.ConfigurationErrorsException: 
 Failed to decrypt using provider 'RsaProtectedConfigurationProvider'. 
 Error message from the provider: Operation is not supported on this platform. 
 ---> System.PlatformNotSupportedException: Operation is not supported on this platform. …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core

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

EF Core 3.1:使用 FromSqlRaw 查询存储过程时序列不包含任何元素

我尝试使用 Entity Framework Core 3.1 查询存储过程。我做了一个非常简单的测试项目。

存储过程:

ALTER PROCEDURE [dbo].[prcTest]
AS
BEGIN

    SET NOCOUNT ON;

    select tbl_Postalcode.PST_T_PostalCode AS Postalcode
    from tbl_Postalcode
END
Run Code Online (Sandbox Code Playgroud)

实体:

public class Test
{
    string Postalcode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我使用这个扩展方法,在 Stackoverflow 上找到,它稍微封装了整个事情。但没什么特别的:

ALTER PROCEDURE [dbo].[prcTest]
AS
BEGIN

    SET NOCOUNT ON;

    select tbl_Postalcode.PST_T_PostalCode AS Postalcode
    from tbl_Postalcode
END
Run Code Online (Sandbox Code Playgroud)

然后我像这样执行查询:

var result = await _myContext.SqlQueryAsync<Test>("Exec prcTest");
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

AggregateException: One or more errors occurred. (Sequence contains no elements)
System.Threading.Tasks.Task.ThrowIfExceptional(bool includeTaskCanceledExceptions)

InvalidOperationException: Sequence contains no elements
System.Linq.ThrowHelper.ThrowNoElementsException()


System.Threading.Tasks.Task.ThrowIfExceptional(bool includeTaskCanceledExceptions) …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

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

在Blazor组件中初始化对象

使用此Blazor组件:

@page "/counter"

<h1>Counter</h1>

<p>Current count: @_a.CurrentCount</p>

<button class="btn btn-primary" onclick="@_b.IncrementCount">Click me</button>

@functions {
    private readonly ClassA _a = new ClassA();
    private readonly ClassB _b = new ClassB(_a);

    class ClassA
    {
        public int CurrentCount { get; set; }
    }

    class ClassB
    {
        private readonly ClassA _classA;

        public ClassB(ClassA classA)
        {
            _classA = classA;
        }

        public void IncrementCount() => _classA.CurrentCount++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误CS0236字段初始值设定项无法引用非静态字段,方法或属性'__Counter._a'

此线程说明如何解决标准类中的此错误:

为什么不能在成员初始化程序中使用“ this”?

但是为此,它需要一个构造函数。

是否可以在Blazor组件中添加构造函数?

如何解决此错误?

.net c# blazor

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

SwaggerUIBundle :指定基本 url

我需要测试一个 api,其中:

接口地址 http://api.mydomain.loc:20109/v1/
API定义网址 http://api.mydomain.loc:20109/v1/swagger/swagger.json

API 定义是:

{
  "openapi": "3.0.1",
  "info": {
    "title": "***",
    "description": "***",
    "version": "v1"
  },
  "servers": [
    {
      "url": "/v1/path1/path2"
    }
  ],
  "/ressource1": {
      "get": {
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
  ...
}
Run Code Online (Sandbox Code Playgroud)

我按照文档中的 unpkg 部分启动本地 Swagger UI。我使用以下内容创建文件“swagger-ui.html”:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta
    name="description"
    content="SwaggerIU"
  />
  <title>SwaggerUI</title>
  <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui.css" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-bundle.js" crossorigin></script>
<script>
  window.onload …
Run Code Online (Sandbox Code Playgroud)

swagger-ui

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

.NET非空引用类型和方法的out参数

我添加csproj以在C#8中启用Null引用类型:

<Nullable>enable</Nullable>
Run Code Online (Sandbox Code Playgroud)

此代码:

private static void Method()
{
    var dictionary = new Dictionary<string, string>();
    string value = string.Empty;

    dictionary.TryGetValue("Key", out value);
}
Run Code Online (Sandbox Code Playgroud)

TryGetValue行带有警告:warning CS8600:将空文字或可能的空值转换为非空类型。

我不明白为什么。TryGetValue的签名为:

    public bool TryGetValue(string key, [MaybeNullWhen(false)] out string value);
Run Code Online (Sandbox Code Playgroud)

该代码示例仅具有Non-Null引用。为什么会出现此错误?

.net c# .net-core c#-8.0

0
推荐指数
2
解决办法
85
查看次数

如何在没有 Visual Studio 的情况下在 CLI 项目中添加 .dll 文件?

我删除了 Visual Studio,但我喜欢 c#。我从dotnet 官方网站下载了 dotnet并安装了它。然后我写在命令行dotnet new console和所有工作,dotnet run工作。然后我创建其他文件夹并在那里写入dotnet new classlib(是 .dll)并且它工作。但我不知道如何将我的 .dll 文件添加到我的项目中。怎么做?

c# .net-core dotnet-cli

0
推荐指数
1
解决办法
75
查看次数