我有这个奇怪的问题,我无法处理自己.设计为singleton的mvp-project模型中的类会导致InvalidCastException.在此代码行中找到错误源,其中反序列化对象被分配给类的实例变量:engineObject = (ENGINE)xSerializer.Deserialize(str);每当我尝试将一个UserControl添加到Form或不同的UC时,就会出现错误.我所有的UC都有一个特殊的演示者,可以访问上面提到的单例类的实例变量.这是我尝试在某处添加UC时得到的结果:
'System.TypeInitializationException:'MVP.Model.EngineData'的类型初始值设定项引发了异常.----> System.InvalidCastException:[A]引擎无法转换为[B]引擎.键入从A起源 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 在位置上下文 'LoadNeither'"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\uankw1hh01\MVP.Model.dll".B型在位置上下文 'LoadNeither' 从 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 起源"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\u_hge2de01\MVP.Model.dll" ...
所以我不知何故有两个程序集,它们不是从我的项目文件夹访问,而是从VS临时文件夹访问?我google了很多,只发现了这个:IronPython例外:[A]人不能被投射到[B]人.有一个解决方案,但首先它涉及IronPhyton,其次我不知道在我的项目中使用它?
如果你能在这里帮助我,那将是非常好的:-) thx
背景
我接手了一个非常大的asp.net网站项目.旧的部署过程是将.cs,.aspx和.ascx文件复制到IIS并使其动态构建.我想预编译它并使用TeamCity自动部署它.我已经完成了一些其他网站项目.
该项目有大约350个用户控件,这些控件在文件夹中组织得很好,但在整个地方都可以使用.从其他文件夹引用的控件,彼此...基本上是循环文件引用的噩梦.
我的尝试
我的第一次尝试是像其他人一样建立它.MS建立整个vs2012解决方案.我遇到了大量"不允许循环文件引用".来发现所有这些组织良好的控件在任何地方都使用,并且有循环引用到处都是.我读了这个,然后我将"web.config"切换为compilation batch="false",然后在构建中将网站设置为"不可更新"和"使用固定命名程序集".该网站构建,但在我的四核,ssd,16gb ram开发框上编译需要25分钟.这是不可接受的构建时间.
我知道,如果我关闭"使用固定命名程序集",该网站将以更快的速度构建.(我已经在一个较小的网站上证明了这一点.它从4分钟到45秒).当我删除该设置时,我得到了奇怪的构建错误:
c:\Projects\Web\Site.master(146): error CS0433: The type 'ASP.usercontrols_modules_viewprofilepopup_ascx' exists in both 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_viewprofilepopup.ascx.4101713c.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_xa514so5.dll'
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_site.master.cdcab7d2.0.cs(927): error CS0433: The type 'ASP.usercontrols_modules_viewprofilepopup_ascx' exists in both 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_viewprofilepopup.ascx.4101713c.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_xa514so5.dll'
error ASPPARSE: c:\Projects\web\Web\UserControls\Modules\JobsLeftMenu.ascx(128): error CS0433: The type 'ASP.usercontrols_modules_imagesgallerymodule_ascx' exists in both 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_imagesgallerymodule.ascx.4101713c.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_nvrj33tx.dll'
error ASPPARSE: c:\Projects\web\Web\Site.master(146): error CS0433: The type 'ASP.usercontrols_modules_viewprofilepopup_ascx' exists in both 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8d37b2c6\4c39f0a\App_Web_viewprofilepopup.ascx.4101713c.dll' and 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary …Run Code Online (Sandbox Code Playgroud)