So I'm totally fumbled by this. Used exactly the same methods before, but this time I have a single assembly that is referenced from a nuget packages -directory, has copy local set to true, and is a strong name reference.
If I then run publish from VS on my dev machine, the manifest is generated correctly. However, when I run it on the build machine, for some inexplicable reason the manifest contains duplicate dependency entries for the same assembly, one of them being exactly the same as on my own machine, BUT the other one has a dependencyType="preRequisite
, and even more mysteriously, references a completely different version of the assembly that is used absolutely no-where (I've looked through my .csproj file a million times, and can't find anything).
This obviously then blows up when I attempt installing the application, because for one, I don't even have the version specified as preRequisite, and I especially don't have it in GAC, on any machine. Actually no version of the assembly is located in the GAC of any of the machines in question.
So I really don't know how to continue. If I could simply remove that one silly dependency from the manifest, everything would be fine. But as it all happens on the build server (which, I guess, creates the manifest as a part of the build process), this seems a whole lot more complicated.
And lastly, on another project I actually have the exactly same assembly reference, and it works as expected. What on earth could cause this?