我的应用程序在 iOS 17 上失败后,我必须进行大量升级,包括购买新的 Macbook,这样我就可以为 iOS 17 进行构建。事实证明,Flutter 中的 TextFormField 无法与 iOS 中的自动更正一起使用17.
\n因此,在升级 Macbook、XCode 和 Android Studio 后,我还有很多软件包需要更新(我的应用程序只有 2 年历史)。我现在使用 Android Studio Giraffe。由于软件包的所有更新,让我的应用程序再次运行需要相当长的时间,但现在一切都正常了。
\n我通常在 Windows 计算机上进行开发,因此我将所有更改复制到 Windows,将 Android Studio 升级到 Giraffe,运行 Flutter Pub Upgrade 来获取最新版本的 Flutter 和 Dart,并尝试构建,但这就是我停滞的地方。
\n我收到错误...
\n/C:/Users/me/AppData/Local/Pub/Cache/hosted/pub.dev/pdfx-2.5.0/lib/src/viewer/pdf_page_image_provider.dart:24:55: Error: Type 'DecoderCallback' not found. ImageStreamCompleter load(PdfPageImageProvider key, DecoderCallback decode) =>\n ^^^^^^^^^^^^^^^ /C:/Users/me/AppData/Local/Pub/Cache/hosted/pub.dev/pdfx-2.5.0/lib/src/viewer/pdf_page_image_provider.dart:40:7: Error: Type 'DecoderCallback' not found.\n DecoderCallback decode) async {\n ^^^^^^^^^^^^^^^ /C:/Users/me/AppData/Local/Pub/Cache/hosted/pub.dev/pdfx-2.5.0/lib/src/viewer/pdf_page_image_provider.dart:24:55: Error: 'DecoderCallback' isn't a type. ImageStreamCompleter load(PdfPageImageProvider key, DecoderCallback decode) =>\n …Run Code Online (Sandbox Code Playgroud) 我有一个 winui 3 应用程序,我使用此代码来获取应用程序版本信息:
assembly = Assembly.GetEntryAssembly();
assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion
Run Code Online (Sandbox Code Playgroud)
之前,我有 Windows 11 - 22H2 和 Visual Studio 2022 v17.7 + net7.0 并且上述代码的输出如下:
4.0.0
Run Code Online (Sandbox Code Playgroud)
今天我将 Windows(全新安装)更改为 23H2 和 Visual Studio 2022 v17.8 /Visual Studio 2022 v18.0-Preview1 + net8.0 但是当我运行我的应用程序(来自 Visual Studio)时,上述代码的输出几乎是如下:
4.0.0 + ea32asd354ad5a4d5a4sda5a54da54da4das54da4d
Run Code Online (Sandbox Code Playgroud)
我将 .net 版本更改为 net7.0 或者移至以前的版本(来自 git)并且输出很奇怪。但是当我从 MS 商店运行我的应用程序时,输出是正确的,或者当我创建新项目时,输出是正确的,但我不知道为什么我的项目被选中
我刚刚将 ASP.NET Core 6 Web API 升级到 .NET 8(请注意,在 .NET 6 中一切都工作得很好),并且在创建 JWT 令牌时收到此错误:
System.ArgumentOutOfRangeException:'IDX10720:无法为算法'HS256'创建KeyedHashAlgorithm,密钥大小必须大于:'256'位,密钥具有'152'位。(参数'keyBytes')'
根据我对此错误的理解,似乎对秘密需要多长时间有一个新的要求,因此我使秘密更长,这适用于创建令牌,但在读取令牌时我收到一个全新的错误
System.ArgumentException:“IDX12723:无法解码有效负载”[“System.String”类型的 PII 已隐藏。有关更多详细信息,请参阅 https://aka.ms/IdentityModel/PII。]' 作为 Base64Url 编码字符串。
编辑:这是内部异常,也许这可以说明一些问题
JsonException:IDX11020:类型为“String”的 JSON 值无法转换为“JsonTokenType.Number”。读取:“System.IdentityModel.Tokens.Jwt.JwtPayload.iat”,位置:“52”,当前深度:“1”,消耗的字节数:“75”。
这里是否有一些处理 JWT 令牌的重大更改?
这是读取令牌的私有方法的代码
private User? _GetIdentity(HttpContext context, string token)
{
try
{
var handler = new JwtSecurityTokenHandler();
//var jsonToken = handler.ReadToken(token);
var tokenS = handler.ReadToken(token) as JwtSecurityToken;//error happens here
var user = new User
{
Id = tokenS.Claims.First(claim => claim.Type == ClaimTypes.NameIdentifier).Value,
UserName = tokenS.Claims.First(claim => claim.Type == ClaimTypes.Name).Value,
Email = tokenS.Claims.First(claim …Run Code Online (Sandbox Code Playgroud) 我使用 SLURM 管理器提交了一堆脚本,这些脚本都在一个 Conda 环境中运行。我想在这个环境中安装一个新的 Python 包。我需要等到所有脚本运行完毕吗?或者我现在可以安装该软件包而不会弄乱任何东西吗?
当 i 达到 -1 时,以下代码将由于整数溢出而产生段错误。如果我将“unsigned int i”更改为“char i”,那么它将正常工作,但会生成编译器警告“数组下标具有类型'char'”。将其声明为“int i”会很好地工作,并且不会出现编译器警告,但感觉应该有。毕竟 int 也是有符号的,并且也可能变为负值。我的问题是,是否有一种安全、优雅、惯用的方式在 C 中编写此类循环?
#include <stdio.h>
int main() {
unsigned int i;
char a[10] = {0};
for (i = 9; i >= 0; i--) {
printf("a[%d]: %d\n", i, a[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在将我的服务器从 AL2 升级到 Amazon Linux 2023。我的应用程序需要 wkhtmltopdf,现在在尝试安装它时,我发现它尚未在我的特定操作系统版本上正式发布。我已经尝试安装 AL2 的版本,但在安装所有依赖项后,它仍然缺少 libpng。
我尝试在 AL2 aarch64 下从https://wkhtmltopdf.org/downloads.html下载 .rpm 文件并运行sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm。它似乎安装正确,但执行示例wkhtmltopdf google.com google.pdf失败。关于如何在 Amazon Linux 2023 中构建 wkhtmltopdf 有什么想法吗?
在一个侧面问题上。我看到与该库关联的 Github 存储库已存档,我是否应该考虑将应用程序的 PDF 生成迁移到其他库?
[ec2-user@backoffice ~]$ sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm
Last metadata expiration check: 1:02:21 ago on Mon Nov 20 20:13:06 2023.
Dependencies resolved.
===========================================================================================================================================
Package Architecture Version Repository Size
===========================================================================================================================================
Installing:
wkhtmltox aarch64 1:0.12.6-1.amazonlinux2 @commandline 13 M
Installing dependencies:
cairo aarch64 1.17.6-2.amzn2023.0.1 amazonlinux …Run Code Online (Sandbox Code Playgroud) ruby wkhtmltopdf amazon-linux amazon-linux-2 amazon-linux-2023
我是 Next.js 的新手。我刚刚完成本教程并有一个关于 API 的问题。
文档中的此页面似乎建议应在将使用 API 路由的每个页面的子文件夹/路由中定义 API 路由。
例如,假设我有一个页面/app/dashboard/page.tsx,我想调用第 3 方 API。我可以创建/app/dashboard/api/route.ts并定义一个 GET 请求:
export async function GET() {
const res = await fetch('https://random-api.com/...')
const data = await res.json()
return Response.json({ data })
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这个逻辑会嵌套在路线内部而不是项目的顶层。有了上面的逻辑,你是不是必须在每个要使用它的页面中重新定义逻辑?
我很可能误解了该文档,如果有人可以帮助澄清,我将不胜感激。
定义 API 逻辑的最佳项目结构是什么,以便我可以在服务器组件内部全局使用该逻辑?另外,是否也可以在客户端组件中使用相同的 API 函数?
我们有一个适用于 .NET Core 7 MAUI Android 应用程序的现有 Azure DevOps 构建管道,该管道直到今天(2023 年 11 月 20 日)都运行良好。我们注意到之前的成功构建使用的是 MSBuild 版本 17.7.3。今天它使用的是 17.8.3,我认为这意味着它位于带有新 VS 映像的服务器上。
MSBuild version 17.8.3+195e7f5a3 for .NET
Build FAILED.
C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.95\targets\Microsoft.Android.Sdk.Tooling.targets(20,5): error XA0031: Java SDK 11.0 or above is required when using .NET 6 or higher. Download the latest JDK at: https://aka.ms/msopenjdk`
Run Code Online (Sandbox Code Playgroud)
global.json如果您正在为 NET 7 构建而没有在文件中明确说明(该dotnet build步骤明确说明了 Framework -f net7.0-android),那么这似乎是 Visual Studio 2022 17.8.3 中 Xamarin / MAUI 构建的重大更改。
今天遇到ERR_SSL_KEY_USAGE_INCOMPATIBLE错误:
This site can't be reached
The webpage at https://... might be temporarily down or it may have moved permanently to a new web address.
ERR_SSL_KEY_USAGE_INCOMPATIBLE
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我该如何解决?
C23 在函数声明符中引入了新的语义:
\n\n\n6.7.6.3 函数声明符
\n[...]
\n13\xc2\xa0\xc2\xa0\xc2\xa0对于没有参数类型列表的函数声明符:效果就像是使用由关键字 组成的参数类型列表进行声明
\nvoid。函数声明符提供函数的原型。
这似乎意味着具有空参数列表的函数定义可以等效地用()or编写(void)。
然而,该函数似乎并不能保证这种main等价性:
\n\n5.1.2.2.1 程序启动
\n程序启动时调用的函数名为
\nmain。该实现没有声明该函数的原型。它的返回类型应为int且不带参数定义:Run Code Online (Sandbox Code Playgroud)\nint main(void) { /* ... */ }\n或带有两个参数(此处称为
\nargc和argv,但可以使用任何名称,因为它们对于声明它们的函数来说是本地的):Run Code Online (Sandbox Code Playgroud)\nint main(int argc, char *argv[]) { /* ... */ }\n或等效的或以某种其他实现定义的方式。
\n
这似乎并不能保证 是 的int main() { /* ... */ }有效定义main,或者等效定义是否涵盖此变体?