private static void HandleException(Exception exception, int location) { if (exception == null) { return; } //prevent multiple crash reports if (terminating) { return; } terminating = true; // In case assembly resolve was not done yet, disable it altogether NuGetAssemblyResolver.DisableAssemblyResolve(); var englishCulture = new CultureInfo("en-US"); var crashLogThread = new Thread(CrashReport) { CurrentUICulture = englishCulture, CurrentCulture = englishCulture }; crashLogThread.SetApartmentState(ApartmentState.STA); crashLogThread.Start(new CrashReportArgs { Exception = exception, Location = location, Log = LogRingbuffer.ToArray(), ThreadName = Thread.CurrentThread.Name }); crashLogThread.Join(); }
static void Main(string[] args) { // Get loader data (text file, format is "PackageName/PackageId") var loaderDataFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Stride.NuGetLoader.loaderdata"); var loaderData = File.ReadLines(loaderDataFile).First().Split('/'); var packageName = loaderData[0]; var packageVersion = loaderData[1]; NuGetAssemblyResolver.SetupNuGet(packageName, packageVersion); AppDomain.CurrentDomain.ExecuteAssemblyByName(packageName, args); }
private bool Validate() { if (!File.Exists(@"UWP\project.lock.json")) { return(false); } try { NuGetAssemblyResolver resolver = new NuGetAssemblyResolver(@"UWP\project.lock.json"); return(resolver.Resolve("mscorlib") != null); } catch { return(false); } }