2011-04-11 56 views
1

我见过很多关于继承属性的帖子,和分析器错误“无法加载类型”如何删除继承属性命名空间没有分析器错误,未能加载类型

我能得到这个工作通过为特定页面添加“RootNamespace.PageName”,其中RootNamespace与我的项目专有名称中的Root名称空间相匹配。

但我宁愿不把名字空间放在那里。即我宁愿放置“PageName”而不是“Namespace.PageName”。

我有一个库项目有几个DLL和10个左右的.aspx和.ascx文件。 为了获得我的库项目的更新,我公司的其他项目复制了这些DLL,然后将.aspx和.ascx文件复制到他们项目中的特定文件夹中。

唯一的问题是每次他们复制时,他们必须改变继承属性的名称空间以匹配其项目中的根名称空间。 如果他们不这样做,他们得到没有编译器错误,但只是遇到一个解析器错误,当他们击中库文件.aspx和.ascx文件。

这非常令人讨厌,如果项目根名称空间发生变化,这么多页面将无法工作,这似乎很荒谬。

有没有人有任何想法,我可以如何为nuse和其他人的项目制作库页面和用户控件?

谢谢, 迈克·G

回答

0

啊哈!一位同事偶然发现了解决这个意外的方式...

好,我有一个共享的“图书馆”项目,许多“正常”的项目,以利用共享的东西从图书馆...

1 - 创建一个输出DLL的“库”WebApplication,并将Web库代码以及.ascxs和.aspx页面放入WebApplication项目中。 2-在“Normal”项目中引用“Library”DLL 3-将“library”中的共享.aspx和.ascx文件复制到“常规”项目中,但...(重要位!)...无后面的代码

在我们的示例中,我们实际上并未在工程中包含复制的.ascx和.aspx文件(例如,它们未在.vbproj文件中引用),它们也没有放入源代码管理,每次制作时都会从图书馆复制。我们还没有尝试过如果你告诉项目关于.aspx和.ascx文件会发生什么情况,但他们肯定会在运行时加载OK。

所以它确实有意义不,我认为没有。 基本上,.aspx文件的根名称空间是不变的,它只是引用被引用的库DLL中的类,因此它都可以工作。

相关问题