小编Ame*_*eya的帖子

.NET Standard 和 .NET Core 3.x 或 ASP.NET Core 3.x

我对 .NET Standard 和最近宣布的 .NET Core 3.0 和 ASP.NET Core 3.1 有几个问题

之前版本的.NET Standard与正在发布的 .NET Core 具有相同的主要版本,但对于 .NET Core 3.1,兼容的是 .NET Standard 2.1。

在此处输入图片说明

  1. .NET Standard 是否会逐渐过时,或者这只是一个与 .NET Core 发布无关的版本号?
  2. 我们可以假设 .NET Standard 2.1 也将与 ASP.NET Core 3.1 兼容吗?
  3. 如果我们将现有的 web 应用程序和 MVC web API 迁移到 asp.net core 3.1 那么 web 应用程序使用的现有 .net 标准类库会发生什么?

我们是否将旧的 .NET Standard 类库的目标框架从:

<TargetFramework>netstandard2.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

<TargetFramework>netstandard2.1</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

或更改为

<TargetFramework>netcoreapp3.0</TargetFramework> 
Run Code Online (Sandbox Code Playgroud)

并向 M​​icrosoft.AspNetCore.App 添加 FrameworkReference

c# asp.net-core-mvc asp.net-core asp.net-core-3.0 .net-standard-2.1

8
推荐指数
1
解决办法
9900
查看次数

与VS 2017的.NET标准/ .NET核心代码分析和代码合同

.NET Standard不支持静态代码分析和代码契约吗?

VS 2017和.NET Standard 1.6或.NET核心类库似乎没有运行代码分析的选项.

c# .net-core .net-standard

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

ASP.NET Core 3.1 Web API(版本控制)和 Swagger UI 因发布到 Azure 的 MvcJsonOptions 而失败

我最近将 ASP.NET Core 2.2 Web API 项目迁移到 ASP.NET Core 3.1 Preview 3。我使用基于 URL 的 API 版本控制和 Swagger UI 3.0 (Swashbuckle.AspNetCore 5.0.0-rc4)。一旦 Web API 在 Azure 上发布,我就会收到以下错误(我不确定 Swagger UI 是否与它有关,但是......)

System.InvalidOperationException:无法比较数组中的两个元素。---> System.TypeLoadException:无法从程序集“Microsoft.AspNetCore.Mvc.Formatters.Json”加载类型“Microsoft.AspNetCore.Mvc.MvcJsonOptions”,

参考 Git Hub 中的类似问题,我的理解是该问题已通过预览版 3 解决,并且确实在安装 SDK 3.1.100-preview3 后,我在本地开发机器上看不到此问题。

本地开发机器(一切正常...)

在此处输入图片说明

发布到 Azure Web 服务

由于该框架尚不受支持,因此我将其发布为自包含 Web api 应用程序。发布成功,但我在运行时遇到以下问题...如何解决此问题?

在此处输入图片说明

System.InvalidOperationException: Failed to compare two elements in the array.
 ---> System.TypeLoadException: Could not load type 'Microsoft.AspNetCore.Mvc.MvcJsonOptions' from assembly 'Microsoft.AspNetCore.Mvc.Formatters.Json, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
   at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, …
Run Code Online (Sandbox Code Playgroud)

azure swagger-ui asp.net-core-mvc asp.net-core asp.net-core-3.0

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

发布后,带有 Swagger launchUrl 的 Asp.NETCore 3.1 不起作用

ASP.NET Core Web API 项目是使用 Swagger 配置的。当我在本地机器上运行项目时,launchUrl 正常工作并自动重定向到我的 Swagger apidocs 位置(https://localhost:44373/apidocs/index.html

但是一旦我在 Azure 上发布项目,launchUrl 就不再正常工作。 ( https://myapiurl.com ) => 应该自动重定向到( https://myapiurl.com/apidocs/index.html )吗?

对于已发布的环境,我缺少什么?

{
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "http://localhost:60837",
            "sslPort": 44373
        }
    },
    "$schema": "http://json.schemastore.org/launchsettings.json",
    "profiles": {
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "launchUrl": "apidocs",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Production"
            }
        },
        "Web.Apis.Organization": {
            "commandName": "Project",
            "launchBrowser": true,
            "launchUrl": "apidocs",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "applicationUrl": "https://localhost:5001;http://localhost:5000"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的配置方法 …

swagger-ui asp.net-core-mvc asp.net-core swagger-3.0 asp.net-core-3.1

5
推荐指数
0
解决办法
4021
查看次数

通过 Nuget 使用 .NET Standard 和 VS 2017 分发自定义 MS 构建任务

我有一个 .NET 标准库 (1.4) VS 2017 项目,其中包含需要通过 Nuget 包分发的自定义 MS 构建任务 (MyTask)(比方说 MyCustomTask.dll,它包含将由目标导入的 MyTask 和 Portable.targets项目)

然后,目标 .NET Standard (1.4) 项目 cspro 文件使用带有自定义生成任务的 Nuget 包来导入调用自定义生成任务的 Portable.targets。

但是,此时我不断收到构建错误无法加载文件或程序集“System.Runtime,Version=4.1.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。

我尝试了 .NET Standard(1.4、1.5 和 1.6),但出现同样的错误。

msbuild nuget-package visual-studio-2017 .net-standard

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