DLL-файл загрузки отражения .NET дает ошибку во время выполнения (R6034)! - PullRequest
0 голосов
/ 03 июля 2010

при загрузке файла dll с использованием отражения .net (описание загруженного файла: Microsoft C Runtime Library), я получил ошибку во время выполнения (R6034) при загрузке dll, которая не использует библиотеку времени выполнения C, она будет загружена успешно, Могу ли я загрузить DLL, что с помощью среды выполнения C с использованием .net отражения, если нет, то как поймать это исключение? Найдите мой код ниже:

    class ReverseDLL
{
    private Assembly assembly;
    private AssemblyDescriptionAttribute desc;
    private AssemblyTitleAttribute title;
    private AssemblyCopyrightAttribute copyRight;

    public string getCopyright(string path)
    {
        try
        {
            assembly = System.Reflection.Assembly.LoadFrom(path);
        }
        catch { Console.WriteLine("(private message)Class ReverseDll : Couldn't load dll"); }
        try
        {
            string verInfo = assembly.GetName().Version.ToString();
            desc = (AssemblyDescriptionAttribute)
            AssemblyDescriptionAttribute.GetCustomAttribute(
            assembly, typeof(AssemblyDescriptionAttribute));
            title = (AssemblyTitleAttribute)
            AssemblyTitleAttribute.GetCustomAttribute(
            assembly, typeof(AssemblyTitleAttribute));
            copyRight = (AssemblyCopyrightAttribute)AssemblyCopyrightAttribute.GetCustomAttribute(assembly, typeof(AssemblyCopyrightAttribute));
            Console.WriteLine("Class ReverseDll , signature: " + copyRight.Copyright.ToString());
        }
        catch
        {
            this.copyRight = new AssemblyCopyrightAttribute("");
            Console.WriteLine("(private message)Class ReverseDll : reflection not able to pull the needed data ");
        }
        return copyRight.Copyright;
    }
}

1 Ответ

0 голосов
/ 03 июля 2010

Вы установили VC_Redist x86 или 64-битную версию, поставляемую с компилятором, который вы использовали для сборки своей DLL?Я думаю, что вы забыли развернуть это на своей машине, или вы забыли включить манифест в вашу DLL .Это важно для приложений C / C ++, скомпилированных с VS2005 или новее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...