我正在尝试构建一个包含多个自定义控件(CommonControls)的可再发行程序集。My环境: MSVC 2010,ASP.NET (WebForms) .NET 2.0/3.0/3.5
问题:如果我通过App_GlobalResources.本地化CommonControls,用Web部署项目编译所有内容都不能工作
下面是我如何构建CommonControls程序集:
我使用一个包含WebSite文件的.ascx和.ascx.cs文件:
以及具有以下设置的网络部署项目:
这将创建"CommonControls.dll“。该程序集将用于不同的ASP.NET WebApplication中,如下所示:
web.config:
第一个问题(小问题):将CommonControls添加为依赖项不会自动复制语言的附属程序集。但是,手动将它们复制到正确的输出路径似乎是有效的(用于调试)。
主要问题:主web应用程序也是通过App_GlobalResources本地化的,并使用网络部署项目构建
构建过程将失败
ASPNETCOMPILER : error ASPRUNTIME:对象引用未设置为对象的实例。
两个部署项目都创建了一个名为"bin\App_GlobalResources.compiled“的文件,我想这两个文件不能在同一个输出项目中和平共存。
是否有任何优雅的解决方案来同时本地化CommonContols和Main,使用ASP.NET内置本地化?
注意:我正在处理的项目必须与Apache+Mono兼容,所以我的项目设置(上面的屏幕截图)必须完全像这样才能正确工作(已经测试了所有其他变体)。
发布于 2015-06-10 14:45:07
我修好了。它(可能)是由WDP使用的Bin文件夹中过时的程序集造成的(有时手动清除该文件夹似乎是个好主意)。
我还将文件从"CommonControls\Bin“复制到最终输出(通过预构建事件),这并不是必要的,并且会导致一切中断(翻译的附属程序集由MSVC自动复制)。
虽然我的problem+solution可能对其他人没有那么大的帮助,但至少是一个教程,说明如何用一堆用户控件构建一个可再发行的程序集,并使用一些自定义控件。
备注:
https://stackoverflow.com/questions/30568962
复制相似问题