ksa*_*ksa 18 asp.net satellite-assembly
为了GetGlobalResourceObject()在Visual Studio 2008中使用,我必须将.resx文件复制到Visual Studio的App_GlobalResources文件夹中.在预编译应用程序之后,资源文件将被编译到相应的附属程序集中,并按\bin\文化名称部署在该文件夹下.一切正常.
但是,在预编译应用程序后,我无法添加新的附属程序集.我做的是:
创建了一个卫星组件:
resgen resources.applicationresources.es-ES.resx resources.applicationresources.es-ES.resources al/t:lib/culture:es-ES /embed:resources.applicationresources.es-ES.resources /out:App_GlobalResources.resources.dll
创建文件夹\bin\es-ES\并在那里部署.dll文件.
遗憾的是,新添加的附属程序集未被识别GetGlobalResourceObject(),后者退回到默认(英语)资源.资源文件似乎没有任何问题,因为如果我将相同的.resx文件复制到App_GlobalResources应用程序中,然后编译应用程序,一切正常.
我错过了什么?BTW我的项目类型是网站而不是网络应用程序项目.
(摘自@ksa 的评论)
可能出错的一件事是 resgen 生成的 DLL 中的命名空间路径不正确,您可以使用 ILDASM 或 Reflector 来比较工作 DLL 和生成的不工作 DLL 中的命名空间。然后,您可以更改 resgen 命令行以使用正确的命名空间进行生成。
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |