1

我有一个包含多个项目的.net mvc解决方案,并且想在主 mvc 项目之外使用Westwind全球化。

我意识到我无法在类库中运行 Westwind 应用程序,所以我想做的是让 Web 界面在主项目中运行,然后将其Resources.cs创建到自己的项目中。(主要原因是需要它的不同项目会导致循环冗余问题)

我试图做的是设置web.config stronglyTypedGlobalResource="..\Westwind\Properties\Resources.cs,AppResources"但我不能在根目录下做一个相对项目。

除了改变之外,也许还有更好的方法来实现这一点web.config。任何建议都会很棒。

对于那些不了解西风的人来说,基本上它会resources.cs根据数据库表创建一个用于语言翻译的文件。所以 westwind 并不是真正的问题,只是想让项目 a将文件保存到项目 b

谢谢

4

1 回答 1

0

您绝对可以在类库中运行 Westwind.Globalization,只要您可以使用单个配置运行,该配置访问的配置设置值与正在运行的应用程序最终将从 web.config 中提取的配置设置值相同。

版本 1 使这有点尴尬,因为 NuGet 包引入了一堆 Web 特定资源。版本 2 提供了一个不包含任何 Web 资源且仅包含核心组件的核心库,因此这比 V1 干净得多。

但是,除此之外,我建议您实际上不要在类库项目中使用 dbResources,而是通过导出到 .Resx 从您的 Db 资源中生成 Resx 资源。这样 DLL 是真正自包含的,而 Web 应用程序(前端代码)可以根据需要使用 dbResources 动态调整接口(或者您也可以将这些资源导出到 Resx)。版本 2 也使这变得更加容易,因为您可以将资源导出到硬盘驱动器上的任意文件夹,而不仅仅是 Web 特定文件夹。

于 2015-03-16T05:46:48.333 回答