悬赏园豆:100
[已关闭问题]
我的WinForm程序,每次打开其中一个窗口frmPersonClientInfo,就会有下面的异常 <BR>--------------- <BR>************** 异常文本 ************** <BR>System.IO.FileNotFoundException: 未能加载文件或程序集“CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。 <BR>文件名:“CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” <BR> 在 NPSys.ClientApp.Client.frmPersonClientInfo.InitializeComponent() <BR> 在 NPSys.ClientApp.Client.frmPersonClientInfo..ctor() <BR> 在 NPSys.ClientApp.frmMain.ToolStripMenuItem_Click(Object sender, EventArgs e) <BR> 在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) <BR> 在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) <BR>--------------- <BR>我知道这个异常说明我需要安装水晶报表,但是这个需要打开的窗口是没有引用水晶报表的功能的 <BR>为了避免出错,我还专门Ctrl+F搜索了 这个窗体的代码,里边确实没有 Crystal 之类的字符串 <BR><STRONG><SPAN style="COLOR: #ff0000">1.我的第一个问题是为啥不用水晶报表的窗体,打开的时候也会提示没有加载水晶报表的异常?因为这个程序的其他窗口是可以正常打开的,唯独这个不行……</SPAN></STRONG> <BR>为了找在什么地方抛的异常,我在这个窗体的构造函数里边,InitializeComponent();的前一行添加了一个MessageBox,在InitializeComponent()函数中的第一行也加了一个MessageBox,结果第一个MessageBox正常弹出,接着就抛异常了,第二个MessageBox不能出来。我很纳闷,其实两个MessageBox是挨着的,一个在函数里边,一个在外边,为啥调用InitializeComponent();之前一切正常,调用的时候就出错了呢? <BR><SPAN style="COLOR: #ff0000"><STRONG>2.我的第二个问题是,.NET是什么时候判断程序集时候已经加载的?</STRONG></SPAN>