Exemple #1
0
        private static void CopyBandDlls()
        {
            var unbandDir      = new DirectoryInfo(CargoDll.GetOfficialBandDllPath());
            var destinationDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            var files = unbandDir.GetFiles("*.dll");

            foreach (var file in files)
            {
                var destination = Path.Combine(destinationDir, file.Name);
                File.Copy(file.FullName, destination, overwrite: true);
            }
        }
Exemple #2
0
        static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            if (args.Name.StartsWith("Microsoft.Band"))
            {
                // an exception will be thrown on Microsoft.Band.Desktop.resources, ignore it
                try
                {
                    var curDir = Directory.GetCurrentDirectory();
                    Directory.SetCurrentDirectory(CargoDll.GetOfficialBandDllPath());

                    var asm = Assembly.LoadFrom(CargoDll.GetUnBandBandDll(args.Name.Substring(0, args.Name.IndexOf(','))));

                    Directory.SetCurrentDirectory(curDir);

                    return(asm);
                }
                catch
                {
                    // TODO: log exception?
                }
            }

            return(null);
        }