小编com*_*guy的帖子

如何仅在生成的代码中禁用编译器警告而不编辑文件

我有一些生成的代码有很多编译器警告。我想在生成的文件中禁用它们,但将这些警告保留在项目的其余部分中,以便可以修复它们。我使用的是 Visual Studio 2019 Community Edition,生成的文件来自实体框架和其他 NuGet 包。

我想在不更改文件的情况下执行此操作,因此如果重新生成它们,我将不会收到警告。我也不想在项目范围内禁用警告,因为它们通常是有用的警告。我也不想编辑 NuGet 包,因为这要么需要在有新版本可用时不升级它们,要么可能必须对新版本进行更改。

我已经读了很多书,但显然发布链接“太多”,所以我删除了它们。如果您想查看它们,请查看编辑历史记录。

有问题的文件是Reference.cs连接服务的文件。它的命名空间为Proxy.ProvisioningService,并且这个文件包含几十个类。我还有几个实体框架迁移文件,它们在完全不同的解决方案中存在相同的问题。

我有一个 GlobalSuppressions.cs 文件,我想将 CS1591 (专门)添加到其中,但我当前的条目不起作用。其他条目适用于其他警告,我已经尝试了以下代码的变体来工作,包括尝试匹配其他条目的格式,但到目前为止没有任何效果。我已经将“Build”从“Compile”更改为“Build”,删除了MessageId,更改Scope为“module”,“Assembly”和“namespaceanddescendants”,并且我尝试了几种不同的方法来设置Target.

[assembly: SuppressMessage("Build", "CS1591:Missing XML comment for publicly visible type or member", Justification = "Generated code", MessageId = "CS1591", Scope = "namespaceanddescendants", Target = "Proxy.ProvisioningService")]
Run Code Online (Sandbox Code Playgroud)

在其中一个场外链接中,它建议我右键单击该错误,转到Suppress -> In Suppression File,但这不是列出的选项。这是我无法在GlobalSuppressions.cs文件中执行此操作的线索吗?

我尝试让 Visual Studio 2019 Community Edition 自动抑制菜单项发出的警告Analyze -> Build And Suppress Active Issues -> For Project,但这只是向文件添加了一堆#pragma …

c# suppress-warnings generated-code visual-studio-2019

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

C# .Net 7 Maui 中的 Android API 33 存储权限被拒绝

我试图让应用程序用户选择一个文件夹来保存从相机拍摄的照片。如果我需要使用与我正在使用的不同的 NuGet 包或内置功能,我可以这样做。我使用的是我发现的第一个有文件夹选择器并且我可以开始工作的。

我阅读了数十篇文章、答案、问题、技术文档、演练、观看视频等,尝试访问并选择要保存相机图像的文件夹。不幸的是,似乎没有任何效果,因为我不断收到异常,说我没有“存储”权限,尽管我已经尝试了多种方法来获取它们。我还请求几乎所有与“存储”相关的权限,甚至是我认为不是真正权限的权限,但在我读过的其中一份文档中引用了它。

这适用于运行 Android 9 (API 28) 和 Android 12 (API 31) 的 2 台真实设备,但不适用于 Android 13 (API 33) 设备。我正在为FolderPicker使用最新的CommunityToolkit NuGet 包。

查看专门针对该应用程序的权限,“拒绝”部分中没有列出任何权限。

我知道这与我检查权限的自定义方式无关,因为我使用它来请求蓝牙和其他权限

靠近底部的“FolderPickerResult”代码行返回异常。它不会抛出它,而是将其返回到“结果”对象/变量。异常消息是“未授予存储权限”。

这是返回的整个对象:

{
    FolderPickerResult {
        Folder = ,
        Exception = Microsoft.Maui.ApplicationModel.PermissionException: Storage permission is not granted.at CommunityToolkit.Maui.Storage.FolderPickerImplementation.InternalPickAsync(String initialPath, CancellationToken cancellationToken)in / _ / src / CommunityToolkit.Maui.Core / Essentials / FolderPicker / FolderPickerImplementation.android.cs: line 18 at CommunityToolkit.Maui.Storage.FolderPickerImplementation.PickAsync(String initialPath, CancellationToken cancellationToken)in / _ / src / CommunityToolkit.Maui.Core / Essentials / FolderPicker / FolderPickerImplementation.shared.cs: …
Run Code Online (Sandbox Code Playgroud)

c# android maui

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

检查和请求毛伊岛权限(包括蓝牙)的简单方法?

我正在寻找一种简单的方法来查询和请求 .Net Maui 中的多个权限。我还需要请求蓝牙权限,但据我所知,毛伊岛没有内置的蓝牙权限。我在 2022 年最后一次听到的消息是,毛伊岛路线图中没有蓝牙,我觉得这是相当短视的。

我读了很多文章、问答、文档、观看了视频,并做了很多其他研究来解决这个问题。

到目前为止,我可以检查并请求个人权限,但我正在寻找比重复更干燥的东西:

PermissionStatus status = await Permissions.CheckStatusAsync<Permissions.XXX>();

if (status != PermissionStatus.Granted){
    status = await Permissions.RequestAsync<Permissions.XXX>();
}
Run Code Online (Sandbox Code Playgroud)

对于每一个许可。我需要多个权限,因此我的检查很快就会失控。

顺便说一句,根据 Google Play 的要求,我的目标是 Android 13.0。

我知道这要求很高,但我迷失在所有建议中,其中许多建议不起作用,所以帮助解决所有这些问题就太好了!

c# permissions maui

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