none
Assembly must be strong signed in order to be marked as a prerequisite.

    Question

  • Hi all!


    I'm working on restructuring of one solution. Solution has 1 application file and many class libraries. Class libraries will be divided by groups in different folders according to kind of each library. Application assembly will be in its own folder. I try to make this structure by defining build output path for every project of the solution. Also I don't want libraries to be copied to application folder so I set for their references "Copy Local" = False.

    After that when I try to build appllication, I get for each library an error: 
    "Assembly 'ClassLibrary1' must be strong signed in order to be marked as a prerequisite."

    I thought that there are situations when two libraries use different versions of third library.

    But now I double checked it and problem still persists...
    Don't know what else can I do.

    Friday, October 01, 2010 4:35 PM

Answers

  • Hi Olexandr Serdyuk,

     

    Welcome to MSDN Forums!

     

    I think the following information will help you to solve that issue.

     

    Strong Signed Assemblies

    What this error message means is that the current publishing settings are going to expect all of the assemblies in question to be present in the Global Assembly Cache on the target machine before installation can take place. Since all assemblies in the GAC must be strong signed, any assembly marked as a prerequisite that isn't strong signed will give you this error.

    If you're publishing via ClickOnce, go to the publish page and click on "Application Files". From there you should see a list of your DLL's. Ensure that the ones that are giving you trouble have their Publish Status marked as "Include" rather than "Prerequisite".

     

    Please give me a response to let me know if this information can help you.

     

    Best wishes,

    Mike

    -------------------------------------------------------------------

    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to the others community members reading the thread.

     

    *****************************************************

    [All-In-One Code Framework]

    Sample world! You will get more from this world!

    Welcome to the new world!

    =================================================

    Third party disclaimer

     

    This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information is found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.

    Tuesday, October 05, 2010 5:55 AM
    Moderator
  • The problem is related locating the depended assemblies. It will search in the following order.

    1. Runtime gets the sufficient info on the assembly to the referred from
    the metadata,
    2. Then, runtime checks whether there is any configuration is available. If
    found, it will search the codeBase, checking whether a matched assembly was
    found there.
    3. Runtime checks the memory only when the step 2 above failed.
    4. If no assembly was targeted in memory, and if the assembly to be
    resolved is a strong-name assembly, runtimes next tries to search the GAC
    with the info on the assembly.
    5. If searching GAC also failed, the local BIN folder will be searched.

    You have to resolve the path according to this.

     

    Tuesday, October 05, 2010 8:06 AM

All replies

  • Hi Olexandr Serdyuk,

     

    Welcome to MSDN Forums!

     

    I think the following information will help you to solve that issue.

     

    Strong Signed Assemblies

    What this error message means is that the current publishing settings are going to expect all of the assemblies in question to be present in the Global Assembly Cache on the target machine before installation can take place. Since all assemblies in the GAC must be strong signed, any assembly marked as a prerequisite that isn't strong signed will give you this error.

    If you're publishing via ClickOnce, go to the publish page and click on "Application Files". From there you should see a list of your DLL's. Ensure that the ones that are giving you trouble have their Publish Status marked as "Include" rather than "Prerequisite".

     

    Please give me a response to let me know if this information can help you.

     

    Best wishes,

    Mike

    -------------------------------------------------------------------

    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to the others community members reading the thread.

     

    *****************************************************

    [All-In-One Code Framework]

    Sample world! You will get more from this world!

    Welcome to the new world!

    =================================================

    Third party disclaimer

     

    This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information is found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.

    Tuesday, October 05, 2010 5:55 AM
    Moderator
  • The problem is related locating the depended assemblies. It will search in the following order.

    1. Runtime gets the sufficient info on the assembly to the referred from
    the metadata,
    2. Then, runtime checks whether there is any configuration is available. If
    found, it will search the codeBase, checking whether a matched assembly was
    found there.
    3. Runtime checks the memory only when the step 2 above failed.
    4. If no assembly was targeted in memory, and if the assembly to be
    resolved is a strong-name assembly, runtimes next tries to search the GAC
    with the info on the assembly.
    5. If searching GAC also failed, the local BIN folder will be searched.

    You have to resolve the path according to this.

     

    Tuesday, October 05, 2010 8:06 AM