none
не могу добавить свою сборку в GAC RRS feed

  • Вопрос

  • Доброго времени суток. При изучении платформы  .Net  столкнулся с такой проблемой :

    Создаю С# class library в VisualStudio 2010.

    Описываю класс.

    Подписываю сборку.

    Устанавливаю сборку в GAC

    gacutil  -i ABCCorp.OneC.Cryptograpry.dll

    Получаю сообщение Assembly successfully added to the cache

    Однако сборка фактически не добавляется.

    // Metadata version: v4.0.30319
    .assembly extern mscorlib
    {
     .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )             // .z\V.4..
     .ver 4:0:0:0
    }
    .assembly extern System
    {
     .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )             // .z\V.4..
     .ver 4:0:0:0
    }
    .assembly extern System.Security
    {
     .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )             // .?_....:
     .ver 4:0:0:0
    }
    .assembly ABCCorp.OneC.Cryptography
    {
     .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 1A 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B  // ....NETFramework
                                                        2C 56 65 72 73 69 6F 6E 3D 76 34 2E 30 01 00 54  // ,Version=v4.0..T
                                                        0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 70 6C  // ..FrameworkDispl
                                                        61 79 4E 61 6D 65 10 2E 4E 45 54 20 46 72 61 6D  // ayName..NET Fram
                                                        65 77 6F 72 6B 20 34 )              // ework 4
     .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 07 53 69 67 6E 64 6C 6C 00 00 )       // ...Signdll..
     .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 ) 
     .custom instance void [mscorlib]System.Reflection.AssemblyConfigurationAttribute::.ctor(string) = ( 01 00 00 00 00 ) 
     .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 09 41 42 43 20 43 6F 72 70 2E 00 00 )    // ...ABC Corp...
     .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 0C 31 43 20 53 69 67 6E 61 74 75 72 65 00  // ...1C Signature.
                                                    00 ) 
     .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 19 C2 A9 20 20 32 30 31 30 20 20 41 42 43  // ..... 2010 ABC
                                                     20 43 6F 72 70 6F 72 61 74 69 6F 6E 00 00 )    // Corporation..
     .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 ) 
     .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ( 01 00 01 00 00 ) 
     .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 36 37 32 37 33 33 35 65 2D 31 33 35 63  // ..$6727335e-135c
                                                     2D 34 31 64 38 2D 38 39 62 63 2D 63 63 66 64 30  // -41d8-89bc-ccfd0
                                                     34 65 37 39 64 34 37 00 00 )           // 4e79d47..
     .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 30 2E 30 2E 30 00 00 )       // ...1.0.0.0..
     .custom instance void [mscorlib]System.Resources.NeutralResourcesLanguageAttribute::.ctor(string) = ( 01 00 05 72 75 2D 52 55 00 00 )          // ...ru-RU..
    
     // --- The following custom attribute is added automatically, do not uncomment -------
     // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 ) 
    
     .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) 
     .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78  // ....T..WrapNonEx
                                                           63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )    // ceptionThrows.
     .publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00  // .$..............
            00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00  // .$..RSA1........
            0F 19 29 87 8F 77 A5 3C 10 0E C4 16 88 5B F3 EF  // ..)..w.<.....[..
            43 3F 47 73 EF 6D BA 23 00 D5 46 2D 4A EB 6B 83  // C?Gs.m.#..F-J.k.
            50 67 06 29 49 E4 1B 81 52 D7 2A F9 9E CF CA 49  // Pg.)I...R.*....I
            3A 4D 30 5D 20 89 39 01 23 28 B4 44 1A AC 91 9C  // :M0] .9.#(.D....
            7E 16 30 32 F3 DB CE F4 59 60 B4 2E A9 DD 20 88  // ~.02....Y`.... .
            5E 06 2F EC FF 41 13 45 69 9F 8A 8D E5 24 21 7A  // ^./..A.Ei....$!z
            52 BA 1F 15 7C 70 C0 BA 2B 0E 46 44 D0 9E 75 A2  // R...|p..+.FD..u.
            94 18 C5 19 5B D2 2B 52 EE 51 F9 4B 79 86 04 AA ) // ....[.+R.Q.Ky...
     .hash algorithm 0x00008004
     .ver 1:0:0:0
    }
    .module ABCCorp.OneC.Cryptography.dll
    // MVID: {FE24AF8C-0ABE-41EF-BAEE-38C98A3BACB3}
    .imagebase 0x00400000
    .file alignment 0x00000200
    .stackreserve 0x00100000
    .subsystem 0x0003    // WINDOWS_CUI
    .corflags 0x00000009  // ILONLY
    // Image base: 0x015E0000
    
    
    
    • Перемещено Tagore Bandlamudi 3 октября 2010 г. 0:25 MSDN Forums consolidation (От:Форум по .NET Framework)
    14 июля 2010 г. 9:06

Ответы

Все ответы

  • А gacutil -l что говорит?
     
    14 июля 2010 г. 9:26
    Модератор
  • Выводит список сборок,но там нет нужной.

    14 июля 2010 г. 9:45
  • gacutil -i ABCCorp.OneC.Cryptograpry.dll
    Cryptograpry.dll - это опечатка?
     
    gacutil -l ABCCorp.OneC.Cryptography
    Без .dll?
     
     
    14 июля 2010 г. 10:01
    Модератор
  • "Устанавливаю сборку в GAC

    gacutil  -i ABCCorp.OneC.Cryptograpry.dll

    Получаю сообщение Assembly successfully added to the cache"

    без .dll

    Failure adding assembly to the cache:   Синтаксическая ошибка в имени файла, име
    ни папки или метке тома.

    14 июля 2010 г. 10:17
  • gacutil  -i ABCCorp.OneC.Cryptograpry.dll

    Я собственно о чем? Ты при установки в гак пишешь gacutil  -i ABCCorp.OneC.Cryptograpr y.dll. Через R.

    Это опечатка или нет?

    А когда list (-l) делаешь указываешь расширение или нет?

    14 июля 2010 г. 10:36
    Модератор
  • опечатка. самое забавное что никаких ошибок нет..может я как-то нитак сборку написал ? и вобще, почему, когда в VisualStudio class library  создаешь, то в свойствах проекта поле Manifest не активно?

    14 июля 2010 г. 10:42
  • Итак имеется VisualStudio2010. Создаю C# class library  TestAssembly. Ничего не меняя  подписываю. пытаюсь зарегистрировать в GAC - тоже самое.

    Ставлю [assembly: CLSCompliant(true)] - тоже ничего не изменилось.. может есть какие-то действия,которые необходимо еще выполнить,чтобы сборка зарегистрировалась ?

    14 июля 2010 г. 12:03
  • Итак имеется VisualStudio2010. Создаю C# class library ClassLibrary1. Ничего не меняя  подписываю. Перехожу в ./bin/Debug

    gacutil -i ./ClassLibrary1.dll

    [skiped] Получаю сообщение Assembly successfully added to the cache"

    gacutil -l ClassLibrary1

    Получаю The Global Assembly Cashe Contains the following assemblies:

    ClassLibrary1, Version 1.0.0.0, и тд...

     

    Кто из нас что-то делает не так?

     

    14 июля 2010 г. 12:40
    Модератор
  • c:\Testing>gacutil -i TestAssembly.dll
    Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Assembly successfully added to the cache

    c:\Testing>gacutil -l TestAssembly.dll
    Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The Global Assembly Cache contains the following assemblies:

    Number of items = 0

    Вот так вот... TestAssembly.dll - это подписаная C# Class Library без каких-либо изменений.

    14 июля 2010 г. 13:11
  • Не надо .dll при при просмотре GAC'а.
    gacutil -l TestAssembly
     
    14 июля 2010 г. 13:23
    Модератор
  • точно, все норм.,спасибо  а почему не отображает в windows\assembly ?
    14 июля 2010 г. 13:42
  • блин,а ведь с помощью  проводника не добавляется и не пишет сообщения об ошибке. а так же не отображается. В чем может быть проблема?

    15 июля 2010 г. 10:20
  • В .Net 4 изменилась папка для хранения GAC.

    Теперь это %windir%\Microsoft.NET\assembly \

    15 июля 2010 г. 10:36
    Модератор
  • спасибо огромное :)

    правда при попытке вызова сборки получаю такое сообщение:

    Предупреждение: регистрация привязки сборок выключена.
    Чтобы включить регистрацию ошибок привязки сборок, установите значение параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) в 1.
    Примечание. Регистрация ошибок привязки сборок может привести к некоторому снижению производительности.
    Чтобы отключить эту функцию, удалите параметр реестра [HKLM\Software\Microsoft\Fusion!EnableLog].
    
    15 июля 2010 г. 12:20