예제 #1
0
        private string WeaveAssembly(string path)
        {
            var weavedPath = CreateWeavedDllFQName(path);

            using (var facade = new BindingFacade(new BindingFacade.Options {
                WeaveDebugSymbols = false
            }))
            {
                facade.CreateBindingsInAssembly(path, weavedPath);
            }

            return(weavedPath);
        }
예제 #2
0
        private static void WeaveAssembly(string assemblyPath)
        {
            try
            {
                EditorApplication.LockReloadAssemblies();

                UnityEngine.Debug.Log("Start weaving assemblies");

                var stopwatch = Stopwatch.StartNew();
                using (var facade = new BindingFacade())
                {
                    facade.CreateBindingsInAssembly(assemblyPath);
                }

                stopwatch.Stop();

                UnityEngine.Debug.Log($"Finished weaving assemblies in {stopwatch.Elapsed.TotalSeconds} seconds");
            }
            finally
            {
                EditorApplication.UnlockReloadAssemblies();
            }
        }