小编Enr*_*ico的帖子

ASP.NET Core v3.x 的 RDLC 本地报告查看器

我有很多关于 Microsoft Report 的报告。我已将所有其他项目迁移到ASP.NET Corev. 3.1。我想保留我的报告,rdcl因为很容易在 Visual Studio 中更新。

在我的解决方案中,我添加了

<ItemGroup>
    <PackageReference Include="Microsoft.ReportingServices.ReportViewerControl.WebForms" Version="150.1404.0" />
    <PackageReference Include="Microsoft.SqlServer.Types" Version="14.0.1016.290" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我注意到包中有一些警告。可以理解。该库适用于 .NET Framework,而不适用于 .NET Core。

在此处输入图片说明

但是,该项目正在正确编译。当我尝试呈现报告时,出现以下错误:

TypeLoadException:无法从程序集“System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”加载类型“System.Web.UI.WebControls.CompositeControl”。

环顾四周,我发现了一些库,但它们都没有工作:

任何的想法?或者,有没有办法在 Azure Functions 中生成 PDF?

c# rdlc microsoft-reporting asp.net-core azure-functions

6
推荐指数
0
解决办法
6768
查看次数

发布时 Visual Studio 2019 Azure KeyVault 配置错误

我想在我刚刚创建的应用服务中将我的项目部署到 Azure。另外,我为我的所有设置创建了一个 KeyVault。

当我尝试将应用程序部署到服务时,我必须配置数据库的连接字符串。

在此输入图像描述

我单击“配置”并按照说明进行操作,然后选择正确的应用程序服务或 KeyVault。然后,在最后一步中,我收到此错误。

依赖配置进度

无法解析令牌“ProfileResourceId”。

错误参数“resourceId”为空...

错误无法配置 Azure AppService 设置。

无法配置依赖项 Azure Key Vault 机密1

在此输入图像描述

我该如何修复它?

更多细节

我没有遵循任何文档。通常,我使用 Azure DevOps 将应用程序部署到 Azure。在这种情况下,我更喜欢从笔记本电脑部署应用程序。

为此,我从门户下载了发布配置文件并添加到Visual Studio .

在此输入图像描述

然后,我看到了一些警觉。一开始我忽略了该警报,但部署的应用程序不起作用。因此,我尝试配置每个依赖项

在此输入图像描述

如果我按 + 添加新的服务依赖项,我会选择Azure Key Vault。选择 Azure 订阅和密钥保管库。然后,局部变量并检查设置。然后完成。

在此输入图像描述

在此输入图像描述

在此输入图像描述

30719-图片.png

在解决方案中,我看到一些ServiceDependency文件

在此输入图像描述

让我奇怪的是,在项目中我成功配置了Connected Services

在此输入图像描述

azure visual-studio azure-keyvault

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

在 ASP.NET Core 上通过身份验证保护静态文件

在上一个问题中,我问了一个通用问题如何添加静态内容的权限。在这里我想说得更准确一些。

\n

在我的项目中,我添加了一个文件夹wwwroot来简化代码,我在其中保存要保护的 html 文件。该文件夹称为infographics

\n

在此输入图像描述

\n

每个文件的属性是:

\n
    \n
  • 构建操作:内容
  • \n
  • 复制到输出目录:不复制
  • \n
\n

在此输入图像描述

\n

按照Microsoft文档的说明,我更改了Startup.cs

\n
public class Startup\n{\n    public Startup(IConfiguration configuration)\n    {\n        Configuration = configuration;\n    }\n\n    public IConfiguration Configuration { get; }\n\n    // This method gets called by the runtime. Use this method to add services to the container.\n    public void ConfigureServices(IServiceCollection services)\n    {\n        services.AddControllersWithViews();\n        services.Configure<IdentityServerConfiguration>(Configuration.GetSection("IdentityServerConfiguration"));\n\n        services.AddDistributedMemoryCache();\n\n        services.AddSession(options =>\n        {\n            options.Cookie.Name = ".my.Session";\n            options.IdleTimeout = TimeSpan.FromHours(12);\n        });\n\n        services.AddAuthentication(options =>\n …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

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

Azure Functions:计时器触发器和消耗计划问题

在我的开发环境中,我有一个包含 21 个函数的 Azure Functions,应用程序计划是消费。

一些函数有一个定时器触发器,在过程结束时每个函数都会发送一封电子邮件。我有两种类型的定时器触发器:

  • 每 20 分钟运行一次函数
  • 在晚上的特定时间运行一次函数

每 20 分钟,该函数就会按照我的预期执行。伟大的。

我面临的问题是他们必须在特定时间启动的功能。基本上,直到我打开门户并在 Azure Function 上执行某些操作(例如打开其中一个的监视器)后,它们才会启动。

从代码的角度来看,所有带有定时器触发器的函数都是这样定义的:

[FunctionName("invoiceMonthlyGeneratorTimer")]
public void Run([TimerTrigger("%Timers:GenerateMonthlyInvoices%")] TimerInfo myTimer)
{
    // ..
}

[FunctionName("invoiceDunningTimer")]
public async Task Run([TimerTrigger("%Timers:DunningTimer%")] TimerInfo timer)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

定时器的配置在设置文件中,如:

"Timers": {
    "DunningTimer": "0 0 4 * * *",
    "GenerateMonthlyInvoices": "0 0 4 * * *"
}
Run Code Online (Sandbox Code Playgroud)

一般来说,这种方法适用于开发环境,并且在生产环境中运行良好。

因为每个函数都会发送一封电子邮件,所以我希望每天早上都能在我的收件箱中找到一些电子邮件,但这并没有发生。然后,我打开 Azure 门户查看日志和监视器。

在门户中打开 Azure 功能。

在此处输入图片说明

打开一个函数的监视器

在此处输入图片说明

瞧,几秒钟后,我开始收到所有服务的电子邮件!在生产环境中,我没有在 dev 中拥有的所有功能,因为我想在部署之前进行测试。在 prod 中,功能运行良好,并在正确的时间启动。

如果我查看 Application Insights,我只能找到打开监视器时的日志。

在此处输入图片说明

日志中有一件有趣的事情:

触发详情:UnscheduledInvocationReason:IsPastDue,OriginalSchedule:2020-07-24T05:00:00.0000000+00:00

在此处输入图片说明

更新

显然,在同一个 Azure Functions 中不能有多个计时器触发器。我在 …

c# azure azure-functions

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

Visual Studio 17.6.2 需要 WSL 来运行控制台应用程序

我刚刚安装了新版本的 Visual Studio Community Edition(版本 17.6.2)。现在,我有一个在 NET7 中包含控制台应用程序项目的项目。通常我可以运行这个控制台应用程序,它在普通的 shell 窗口中运行。

升级后,控制台应用程序需要 WSL(适用于 Linux 的 Windows 子系统)。为什么?现在,Visual Studio 显示错误弹出消息:

在此输入图像描述

单击OK,它会打开Microsoft Store,然后我单击Debian

在此输入图像描述

几秒钟后,在 PowerShell 窗口中我收到此消息

WslRegisterDistribution 失败,错误:0x80370114

错误:0x80370114 由于未安装所需的功能,因此无法启动操作。

在此输入图像描述

因此,我打开一个新的 PowerShell 窗口,并尝试使用以下命令手动安装 Linux 发行版

wsl --list
wsl --list --online
wsl --install Ubuntu-22.04
Run Code Online (Sandbox Code Playgroud)

但我再次遇到同样的错误。

在此输入图像描述

这是项目属性

在此输入图像描述

第一个问题:为什么我不能像往常一样运行控制台应用程序?那么,为什么我需要 WSL(我已经以任何方式安装了)?我该如何解决这个问题?

更新

如果在项目的属性中我选择作为目标操作系统Windows,则应用程序仍在“输出”窗口中运行。基本上,Visual Studio 不会打开提示窗口来运行应用程序。

在此输入图像描述

选项

选项环境下的终端默认为.Developer PowerShell

在此输入图像描述

console-application windows-subsystem-for-linux visual-studio-2022

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

向 Selenium Docker 添加更多实例

我已经按照文档从 Docker compose 下载了 Selenium Grid 。现在,我已经启动并运行了所有图像。

在此输入图像描述

此外,用户界面正在运行。

在此输入图像描述

对于每个浏览器,我只有一个实例。我想增加每个浏览器的实例数量。所以,我可以运行并行测试。我找不到办法做到这一点。

selenium selenium-grid

4
推荐指数
1
解决办法
3476
查看次数

使用 Blazor 的简单可扩展表

我想在 Blazor WebAssembly 中创建一个简单的可扩展表。我添加了一些 HTML 代码,如下所示:

<table class="table table-hover">
  <thead>
    <tr>
      <th>#</th>
      <th>User</th>
      <th>Date</th>
      <th>Status</th>
      <th>Reason</th>
    </tr>
  </thead>
  <tbody>
    <tr data-widget="expandable-table" aria-expanded="false">
      <td>183</td>
      <td>John Doe</td>
      <td>11-7-2014</td>
      <td>Approved</td>
      <td>Lorem Ipsum is simply dummy text</td>
    </tr>
    <tr class="expandable-body">
      <td colspan="5">
        <p>
          Lorem Ipsum is simply dummy text
        </p>
      </td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

如果我单击包含详细信息的行,它也总是会折叠。有没有一种不使用外部组件的简单方法来实现它?如果不是,您推荐什么组件?

我所说的“可扩展表”的一个例子在这里

blazor blazor-webassembly

4
推荐指数
2
解决办法
2万
查看次数

NET8 与 Blazor 读取“dotnet.wasm”时出错

我尝试将 Blazor 项目从 转换为 ,NET7因为NET8我在完整性检查方面遇到了一些问题。我安装了NET8RC 和 Visual Studio 17.8 预览版。

我的解决方案由托管 Blazor WebAssembly 的服务器项目组成。

转换后,我运行该应用程序并收到此错误。

错误:无法启动平台。原因:类型错误:无法读取未定义的属性(读取“dotnet.wasm”)

在此输入图像描述

blazor .net-8.0

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

在 Azure DevOps 中将 Docker 容器标记为最新

我正在尝试构建一个 Docker 容器并将其推送到 Azure 容器注册表。为此,我创建了这个azure-pipeline.yml

# Docker
# Build and push an image to Azure Container Registry
# https://learn.microsoft.com/azure/devops/pipelines/languages/docker

trigger:
- main

resources:
- repo: self

variables:
  # Container registry service connection established during pipeline creation
  dockerRegistryServiceConnection: '...'
  imageRepository: 'mycontainer'
  containerRegistry: 'azuk.azurecr.io'
  dockerfilePath: '$(Build.SourcesDirectory)/dockerfile'
  tag: '$(Build.BuildId)'

  # Agent VM image name
  vmImageName: 'ubuntu-latest'

stages:
- stage: Build
  displayName: Build and push stage
  jobs:
  - job: Build
    displayName: Build
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push …
Run Code Online (Sandbox Code Playgroud)

azure docker azure-devops azure-acr

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

为所有人更改 Azure DevOps 待办事项中的列

在 Azure DevOps 中,我创建了包含所有工作项的仪表板

在此输入图像描述

此外,每个用户都可以通过在列表中添加/删除列来自定义仪表板。我喜欢默认为每个人更改列列表,但我找不到如何更改。

“设置”部分中没有任何选项。

azure-devops

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