我有一个包含多个项目的 .net mvc 解决方案,并希望在主mvc项目之外使用 Westwind 全球化。
我意识到我无法在类库中运行Westwind应用程序,因此我尝试做的是在主项目中运行Web界面,然后将Resources.cs
创建到自己的项目中。 (主要原因是需要它的不同项目会导致循环冗余问题)
我尝试做的是设置web.config stronglyTypedGlobalResource="..\Westwind\Properties\Resources.cs,AppResources"
,但我无法在根目录下执行相对项目。
除了web.config
更改之外,可能还有更好的方法来完成此任务。任何建议都会很棒。
对于那些不了解Westwind的读者,基本上它会根据数据库表创建一个resources.cs
语言翻译文件。所以西风不是真正的问题,只想投射将文件保存到项目b 。
感谢名单
答案 0 :(得分:0)
只要您可以使用一个访问相同配置设置值的配置运行,您就可以在类库中运行Westwind.Globalization,该配置设置值将从正在运行的应用程序最终从web.config中提取。
版本1使得这有点尴尬,因为NuGet包引入了一堆特定于Web的资源。版本2提供了一个不包含任何Web资源的核心库,仅包含核心组件,因此比V1更清晰。
除此之外,我建议您实际上不在类库项目中使用dbResources,而是通过导出到.Resx从Db资源生成Resx资源。这样DLL就是真正自包含的,而Web应用程序(前端代码)可以根据需要使用dbResources动态调整接口(或者您也可以将这些资源导出到Resx)。版本2使得这更容易,因为您可以将资源导出到硬盘驱动器上的任意文件夹而不仅仅是Web特定文件夹。