saproj file contains duplicate entries (PublicKeyToken valid value vs null value)


I've inherited a small set of .saproj files that started life as SmartAssembly Pro v5 files, then were upgraded to v6, and recently to v8 (actually v8.1.1.4963).

I've had to add a new project's DLL file to one of the .saproj files, and that seems fine. However, when I go to check in the new .saproj file, I see my new DLL has been added -- along with half a dozen others that weren't previously listed. I got to looking through that file's contents and I see most (if not all) of my project DLL files are listed twice: Once with PublicKeyToken=null and again with a valid-looking value.

All the non-null PublicKeyToken values are not the same, but the same value is repeated several times for different and unrelated DLLs.

It seems to be building (we have yet to test) but I'm just not sure my .saproj files have been maintained properly over the years, or the product upgrades have done what they need to do.

Just need to know whether my .csproj files are valid, going forward. I can submit a sample if you'd like.



  • Hello JeffElliott


    I've only ever seen this instance once before and the origin of the behaviour was never found, given your file has traversed 12 years worth of versions I'm not very optimistic about isolating the cause.

    There were multiple breaking changes in version 7 & 8 as well as a major rearchitecture in v6.5.


    The approach I'd recommend is back up your original files and then duplicate them. On the copies, please remove the duplicate entries with the null token value and try using them at normal. 

    Smart Assembly and I would not expect to see duplicate entries for assemblies, while it will likely simply take the first reference it finds there's no guarantee that would be the correct ones.


    Please let us know if you have any issues.

    Kind regards
    Peter Laws | Redgate Software
    Have you visited our Help Center?
Sign In or Register to comment.