我正在编写自己的服务器端控件,并且使用存储在.resx
文件。在控制台应用程序中,此代码运行良好:
ResXResourceReader rsxr = new ResXResourceReader("Resource1.resx");
foreach (DictionaryEntry d in rsxr)
{
Console.WriteLine(d.Key.ToString() + ":\t" + d.Value.ToString());
}
rsxr.Close();
but here
protected override void RenderContents(HtmlTextWriter output)
{
ResXResourceReader rsxr = new ResXResourceReader("Resource1.resx");
base.RenderContents(output);
foreach (DictionaryEntry d in rsxr)
{
output.Write(d.Key.ToString());
}
}
我收到此错误:
找不到文件“C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\Resource1.resx”
我尝试使用 ResourceManager,但它需要.resource
文件。我无法访问resgen
工具(命令提示符不理解resgen
命令)并安装它(在尝试期间发生了一些错误)。
我的问题是:
-
为什么我无法阅读.resx
?
-
如何安装resgen
工具正确吗?
thanks.
将资源文件存储在下面被认为是一个好习惯App_GlobalResources
应用程序根目录或中的文件夹App_LocalResources
与您的用户控制文件同名。因此,例如用户用户控件是本地资源文件夹中的 uc.ascx 文件应该是 uc.ascx.resx。这样就更容易维护,并且 ASP.NET 会自动检测到它。
现在你的答案:
第一个问题:
Use Server.MapPath("~/")
直接指向您的 web.config 所在的物理位置。如果你想使用 Controls 文件夹中的资源文件,你必须编写Server.MapPath("~/Controls/Resource1.resx")
获取路径。
Not sure你想用 resgen 工具做什么?当您编译应用程序时,资源文件也会被编译。选择您的资源文件并单击F4,它将显示您的构建操作,在构建操作中选择资源,您的资源文件将包含在程序集中。
您可以查看这篇文章以获取更多信息:如何在asp.net网站中使用图片资源? https://stackoverflow.com/questions/244807/how-to-use-image-resource-in-asp-net-website
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)