如何修改自动生成的代码

时间:2013-01-06 13:01:58

标签: c# asp.net

第一个问题:

我正在使用一些externall buisness库,它们有奇怪的命名空间,例如System.Web.UI.Page。不能做任何事情。加载库时ASP.NET中出现问题一切正常但显示页面时出现问题:

  

CS0433:类型'System.Web.SessionState.IRequiresSessionState'   存在于两者中

所以基本上C#尝试编译页面 - 但是不知道这个类型使用哪个库

我找到了externall alliases的解决方案但是,然后设计师的问题是每次我修改页面都会破坏命名(真的很难保持) - desginer将从"MyNewExternalAlliase"->"Global"切换名称,或者在添加新名称时ellemnts他们将用global ::。这将非常耗时。

问题:

我可以修改ASP.NET页面/控件的这个自动生成的代码,如果我可以以某种方式注入进程并做简单的字符串替换我可以使用双联盟,一切都会正常工作。澄清我的意思是这种文件:

  

c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET   文件\根\ f3552813 \ 29b6906c \ App_Web_XXXXX.aspx.65a2d1ee.p58-fzio.0.cs

更新1。 你们不明白问题,标准系统库System.Web有类System.Web.UI.Page,我在运行时加载的库有相同的类型(命名空间和类)。现在,当ASP.net编译页面 - * .aspx,* .ascx文件被编译时 - 它无法告诉它应该使用哪个库,我得到错误:

  

CS0433:类型'System.Web.UI.Page'   存在于两个dll中

1 个答案:

答案 0 :(得分:2)

使用临时文件和目录不是一个好的模式。 解决方法是修改代码 - 请举例说明。