Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修改自动生成的代码_C#_Asp.net - Fatal编程技术网

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中


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

最好避免修改自动生成的代码!快速的谷歌搜索发现了这个窍门:这有用吗?