none
Delay Signing - Verification Entry RRS feed

  • Question

  • I built a test console project, that depends on a strong-named, privately-deployed test DLL project (called "Dependee.dll").  It works.  Then I change to delay-signing, and it stops working.  That is expected.  Then I issue this command on the privately-deployed test DLL:

    sn -Vr Dependee.dll

    ...and it acknowledges the "verification entry" of the assembly.

    But when I try to run my test console app, it still doesn't work.  I get this:

    Unhandled Exception: System.IO.FileLoadException: Could not load file or assembl
    y 'Dependee, Version=1.0.5.2, Culture=neutral, PublicKeyToken=b5f0b67c9f2725b5'
    or one of its dependencies. Strong name validation failed. (Exception from HRESU
    LT: 0x8013141A)

    But that is the whole point - I used the sn -Vr command to prevent that error.  When I issue "sn -Vl", it shows the entry is properly applied.  Why won't it acknowledge my request to skip verification?

    I am building on Vista x64 SP1, with VS2k8 SP1, .net 3.5 SP1.
    • Edited by Brent Arias Wednesday, September 9, 2009 8:43 PM add platform info
    Wednesday, September 9, 2009 8:28 PM

Answers

All replies

  • Check the skip verification list at HKLM\Software\Microsoft\StrongName\Verification\<asmName,publicKeyToken>.

    Hans Passant.
    Wednesday, September 9, 2009 9:23 PM
    Moderator
  • Nope, the registry entry is not there.  Evidently this is a known problem for developers on x64 platforms:

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=341426

    Thanks!
    -Brent Arias
    • Marked as answer by eryang Friday, September 11, 2009 3:55 AM
    Thursday, September 10, 2009 2:23 AM
  • Now I have a new problem.  If I run the 64bit version of sn, like this:

    sn.exe -Vr Dependee.dll

    ...then it works!  But I read in another article that I can use wildcards with a public key, like this:

    sn.exe -Vr *,B5F0B67C9F2725B5

    ...and have the above public key generally accepted.  It did successfully register that last command, and said:

          Verification entry added for assembly '*,B5F0B67C9F2725B5'

    ...but it didn't work.  Unless I have the the "Dependee.dll" explicitly registered, it won't function.

    Have I done something wrong, or is this "works as designed?"  I would love to specify just the public key and have it apply to all assemblies!
    -Brent Arias
    Thursday, September 10, 2009 2:39 AM
  • Whoa!  Actually, it looks like the wild-card verification entry did work...but it needs a few seconds to propagate.  I just need to wait for a little bit after issueing the sn -Vr command, to wait for it to take effect.


    -Brent Arias
    Thursday, September 10, 2009 2:45 AM