Пример #1
0
            private void LoadReference(PortableExecutableReference resolvedReference, bool suppressWarnings)
            {
                AssemblyLoadResult result;

                try
                {
                    result = _assemblyLoader.LoadFromPath(resolvedReference.FilePath);
                }
                catch (FileNotFoundException e)
                {
                    Console.Error.WriteLine(e.Message);
                    return;
                }
                catch (ArgumentException e)
                {
                    Console.Error.WriteLine((e.InnerException ?? e).Message);
                    return;
                }
                catch (TargetInvocationException e)
                {
                    // The user might have hooked AssemblyResolve event, which might have thrown an exception.
                    // Display stack trace in this case.
                    Console.Error.WriteLine(e.InnerException.ToString());
                    return;
                }

                if (!result.IsSuccessful && !suppressWarnings)
                {
                    Console.Out.WriteLine(string.Format(CultureInfo.CurrentCulture, FeaturesResources.RequestedAssemblyAlreadyLoaded, result.OriginalPath));
                }
            }
Пример #2
0
            private AssemblyLoadResult LoadFromPathThrowing(string fullOriginalPath, bool addReference)
            {
                var result = _assemblyLoader.LoadFromPath(fullOriginalPath);

                if (addReference && result.IsSuccessful)
                {
                    var reference = _metadataFileProvider.GetReference(fullOriginalPath);
                    _options = _options.AddReferences(reference);
                }

                return(result);
            }