如何修改自动生成的代码

本文关键字:自动生成 代码 修改 何修改 | 更新日期: 2023-09-27 17:50:52

第一个问题:

我正在使用一些外部构建库,它们有奇怪的名称空间,例如System.Web.UI.Page。对此无能为力。ASP.NET中加载库时出现问题一切正常,但显示页面时出现问题:

CS0433:类型"System.Web.SessionState.IRequiresSessionState"存在于两个中

所以基本上C#试图编译页面,但不知道该使用哪个库来进行这种类型的

我用externall alliances找到了解决方案,但设计器中出现了问题,因为每次我修改页面时,它都会破坏命名(真的很难控制(-desginer会从"MyNewExternalAlliase"->"Global"切换名称,或者在添加新的ellent时,它们会显示为global::。这将非常耗时。

问题:

如果我能以某种方式注入到进程中并进行简单的字符串替换,我可以修改ASP.NET页面/控件的自动生成代码吗?我可以使用双allase,一切都会很好。为了澄清,我指的是这种文件:

c: ''Windows''Microsoft.NET''Framework''v4.0.30119''临时ASP.NETFiles''root''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"存在于两个dlls 中

如何修改自动生成的代码

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