gpt4 book ai didi

c# - 带资源文件的 asp.net 核心 (resx)

转载 作者:行者123 更新时间:2023-12-05 08:42:32 25 4
gpt4 key购买 nike

我在 ASP.Net Core 中有一个项目需要包含来自资源文件的图像(以生成 PDF)。

因此,我使用 Visual Studio 创建了一个新的资源文件(添加 > 新项目 > 资源文件),命名为 Resource.resx

使用托管资源编辑器(Visual Studio 的默认编辑器),我添加了一个名为 logo.png 的新图像。使用下面列出的方法创建了一个名为 Resource.Designer.cs 的新文件:

public static System.Drawing.Bitmap logo {
get {
object obj = ResourceManager.GetObject("logo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}

现在,只是为了测试,我创建了以下代码:

var logo = Resources.logo;

这引发了一个新的异常,内容如下:

发生“System.InvalidCastException”类型的未处理异常。
附加信息:无法将“System.String”类型的对象转换为类型“System.Drawing.Bitmap”。

我也尝试了这个链接中的所有内容: https://weblogs.asp.net/jeff/beating-localization-into-submission-on-asp-net-5

但结果是一样的。

如果我在控制台应用程序上编写此代码,一切正常。

最佳答案

我找到了另一种对我的问题有效的方法。

http://codeopinion.com/asp-net-core-embedded-resource/

只需要在项目上创建一个文件夹(在我的例子中是 Resources),然后在 project.json 中,我包含了以下代码:

"buildOptions": {
"embed": ["Resources/**/*"]
}

然后,我的代码:

var assembly = Assembly.GetExecutingAssembly();
var logoStream = assembly.GetManifestResourceStream("ProjectNamespace.Resources.logo.png");

关于c# - 带资源文件的 asp.net 核心 (resx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40551036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com