我的场景是:使用我创建的一些dll的.exe。
最近我从visual studio 2008 (使用框架2.0)迁移到visual studio 2013 (使用框架4.0)
一切都很好,但现在发生了这件事:在我的Program.cs中,我就是这样:
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
MessageBox.Show("Dll not registered in GAC or wrong version:\r\n" + args.Name, "ERROR DLL", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
现在检索此错误:
SeaUser.resources, Version=3.0.5550.25069, Culture=it-IT, PublicKeyToken=null
这似乎没有使用所有资源编译SeaUser.dll?
奇怪的是,如果我无法检查这一点,一切正常,dll (某些按钮的图像)的资源都能正确显示。
那么,问题是什么?使用vs2013或框架4.0这个函数不像旧的(我确实在gac中但是在.exe文件夹中的dll)
谢谢!