Tag: 集解析

AppDomain.CurrentDomain.AssemblyResolve要求 .resources程序集?

使用代码如何将附属程序集嵌入到 csharptest.net提供的EXE文件中 ,我创建了一个自定义程序集解析程序并在我的资源中嵌入了我的程序集。 我可以成功解析我使用的程序集,但不知怎的,AppDomain.CurrentDomain.AssemblyResolve请求一个名为’AppName.resources’的程序集,特别是“MyProgram.resources,Version = 0.15.3992.31638,Culture = en-US,PublicKeyToken = null”不知道如何解决? 我试图禁用从资源加载我的自定义程序集(将所有程序集dll放在程序目录中)并启用AppDomain.CurrentDomain.AssemblyResolve,但它仍然要求它。 我对此有点困惑,如果你可以帮助我,我将非常感激。 这是我感兴趣的代码; static Assembly ResolveAssemblies(object sender, ResolveEventArgs args) { Assembly assembly = null; string name = args.Name.Substring(0, args.Name.IndexOf(‘,’)); if (name == “MyProgram.resources”) return null; else name = string.Format(“MyProgram.Resources.Assemblies.{0}.dll”, name); lock (_loadedAssemblies) { if (!_loadedAssemblies.TryGetValue(name, out assembly)) { using (Stream io = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) { if […]

C#:自定义程序集目录

假设我们有一个由一个可执行文件和5个库组成的应用程序。 通常所有这些都将包含在一个目录中,并且将从那里加载库。 是否有可能这样做,例如我可以在一个名为Lib的目录中拥有一些库,其余的名为Lib2? 这样应用程序目录只包含可执行文件本身,其他程序集将包含在各种逻辑目录中。 我怎样才能做到这一点? 我想知道如何加载程序集,以及如何使应用程序的构建将程序集放在正确的目录中。