C# 如何修改自动生成的代码
第一个问题: 我正在使用一些外部业务库,它们有奇怪的名称空间,例如C# 如何修改自动生成的代码,c#,asp.net,C#,Asp.net,第一个问题: 我正在使用一些外部业务库,它们有奇怪的名称空间,例如System.Web.UI.Page。对此我无能为力。加载库时ASP.NET中出现问题一切正常,但显示页面时出现问题: CS0433:类型“System.Web.SessionState.IRequiresessionState” 两者都存在 所以基本上C#会尝试编译页面,但不知道该使用哪个库来编译这种类型的页面 我找到了外部Alliase的解决方案,但在designer中出现了一个问题,因为每次我修改页面时,它都会破坏命名(很难
System.Web.UI.Page
。对此我无能为力。加载库时ASP.NET中出现问题一切正常,但显示页面时出现问题:
CS0433:类型“System.Web.SessionState.IRequiresessionState”
两者都存在
所以基本上C#会尝试编译页面,但不知道该使用哪个库来编译这种类型的页面
我找到了外部Alliase的解决方案,但在designer中出现了一个问题,因为每次我修改页面时,它都会破坏命名(很难维护)-设计工程师会将名称从“MyNewExternalAlliase”->“Global”
,或者在添加新的ELLEMNT时,它们将显示为Global::。这将非常耗时
问题:
我可以修改ASP.NET页面/控件的自动生成代码吗?如果我能以某种方式注入到进程中并执行简单的do字符串替换,我可以使用double alliase,一切都会正常工作。为了澄清,我指的是此类文件:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET
Files\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”
存在于两个DLL中
使用临时文件和目录不是一个好模式。
解决方案是修改代码-请举例说明。最好避免修改自动生成的代码!快速的谷歌搜索发现了这个窍门:这有用吗?