none
AxInterop.MSHierarchicalFlexGridLib' does not have a strong name RRS feed

  • Question

  • Hello

    please help me with this one. I went through the similar topics here and found some articles about that but I haven't figured it out yet

    I use the MS Hierarchical Flex Grid in my code (Excel Add-in) everything worked great until I signed my code by Thawte Code signing certificate.

    I also signed my assembly with the certificate and since then I can't build my code it says

    "Assembly generation failed -- Referenced assembly 'AxInterop.MSHierarchicalFlexGridLib' does not have a strong name"

    I unsigned the assembly and tried publish my project and install it on user's pc, the installation process was OK but then when user run the add-in the grid didn't work - didn't appear.

    I tried this step 1 - To create and sign an assembly with a strong name using the Assembly Linker -  but I don't know what I should type instead of text <module name>

    Example is: al /out:<assembly name> <module name> /keyfile:<file name>

    What I tried: al /out:AxInterop.MSHierarchicalFlexGridLib MSHFlexiGrid /keyfile:sgKey.snk

    Please, help me

    Thanks

    Pat


    Visual Studio 2010 Professional, Office 2007
    • Moved by Calvin_Gao Monday, October 10, 2011 7:07 AM Move to appropriate forum for better support (From:Visual Studio Tools for Office)
    Wednesday, October 5, 2011 9:34 AM

Answers

  • Hi,

    1. I would generally talk about .NetModule and assemblies as below:

     

    Netmodule vs. Assembly:

    In .Net framework, Assembly is the minimum unit of deployment. You cannot deploy anything less than an assembly. To CLR, a type does not exist outside of the context of an assembly.

     

    Assembly can contain one or more files. The files can be any physical files. They can be a resource file, a netmodule, or native dlls.

     

    An assembly always contains an assembly manifest. Assembly manifest is the metadata of an assembly. It contains assembly definition identity, files in the assembly, type reference information, referenced assemblies, among other things.

     

    Netmodule is a unit of compilation.  A compiler may give the option to compile a collection of source files into an assembly, or a netmodule. Netmodule contains type metadata and compiled code. It does not contain an assembly manifest.

     

    A netmodule can not be deployed alone. It has to be linked into an assembly. This can be done by using compiler’s /addmoduleswitch (if the compiler supports it), al.exe, or in .Net framework 2.0, link.exe. After linking, the netmodule can be deployed with the assembly. The .Net framework 2.0 link.exe can produce a single file assembly, while all the other approaches produce multi-file assemblies.

     

    Try to check out this blog for more information about Netmodule vs. Assembly -http://blogs.msdn.com/junfeng/archive/2005/02/12/371683.aspx

    2. About how to generate a .netmodule, you can use command as below:

     

    csc /t:module Stringer.cs

     

    Specifying the module parameter with the /t: compiler option indicates that the file should be compiled as a module rather than as an assembly. The compiler produces a module called Stringer.netmodule, which can be added to an assembly.

    http://msdn.microsoft.com/en-us/library/226t7yxe(v=VS.100).aspx

    I hope this can help you.

     


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Paul Zhou Thursday, October 13, 2011 2:50 AM
    Monday, October 10, 2011 7:21 AM

All replies

  • Hi Pat,

    Thanks for your post.

    We are working on your problem, and it will take some time before we can provide some valuable suggestions.

    Good day,


    Best Regards, Calvin Gao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, October 7, 2011 6:39 AM
  • Hi,

    1. I would generally talk about .NetModule and assemblies as below:

     

    Netmodule vs. Assembly:

    In .Net framework, Assembly is the minimum unit of deployment. You cannot deploy anything less than an assembly. To CLR, a type does not exist outside of the context of an assembly.

     

    Assembly can contain one or more files. The files can be any physical files. They can be a resource file, a netmodule, or native dlls.

     

    An assembly always contains an assembly manifest. Assembly manifest is the metadata of an assembly. It contains assembly definition identity, files in the assembly, type reference information, referenced assemblies, among other things.

     

    Netmodule is a unit of compilation.  A compiler may give the option to compile a collection of source files into an assembly, or a netmodule. Netmodule contains type metadata and compiled code. It does not contain an assembly manifest.

     

    A netmodule can not be deployed alone. It has to be linked into an assembly. This can be done by using compiler’s /addmoduleswitch (if the compiler supports it), al.exe, or in .Net framework 2.0, link.exe. After linking, the netmodule can be deployed with the assembly. The .Net framework 2.0 link.exe can produce a single file assembly, while all the other approaches produce multi-file assemblies.

     

    Try to check out this blog for more information about Netmodule vs. Assembly -http://blogs.msdn.com/junfeng/archive/2005/02/12/371683.aspx

    2. About how to generate a .netmodule, you can use command as below:

     

    csc /t:module Stringer.cs

     

    Specifying the module parameter with the /t: compiler option indicates that the file should be compiled as a module rather than as an assembly. The compiler produces a module called Stringer.netmodule, which can be added to an assembly.

    http://msdn.microsoft.com/en-us/library/226t7yxe(v=VS.100).aspx

    I hope this can help you.

     


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Paul Zhou Thursday, October 13, 2011 2:50 AM
    Monday, October 10, 2011 7:21 AM
  • Hi guys thanks for your responses. I've almost forgotten to this topic...

    I had to solve it immediately or soon as possible so I decided to re-write the MS Flexi grid with standard .NET DataGrid control. It took me 2 days but finally I achieve the same layout as the MS Flexi grid  => looks like MS Excel worksheet and because it is standard control of .NETFramework I didn't have any problem with publishing the project.

    Thanks for your effort I really appreciate it

    Pat

     


    Visual Studio 2010 Professional, Office 2007
    Friday, October 21, 2011 9:50 AM