Version 0.0.0.0 when creating strong named assembly
<p>We're building a C# wrapper for a C library in embedded Linux, and we want to install it into the GAC of the target system.</p>

<p>To do that, I've used <code>sn</code> to create a keypair and <code>mcs</code> to compile the code:</p>

<pre><code>sn -k keypair.snk
mcs /target:library -keyfile:keypair.snk -out:MyLib.dll src/*.cs
</code></pre>

<p>Now, once that's built, I use <code>gacutil</code> to inject it into the GAC with:</p>

<pre><code>gacutil /i -gacdir /path/to/gac MyLib.dll
</code></pre>

<p>What I end up with is the correct file structure but the version number is set to <code>0.0.0.0</code>:</p>

<pre><code>.../usr/lib/mono/gac/MyLib
.../usr/lib/mono/gac/MyLib/0.0.0.0__3141592653589fff
.../usr/lib/mono/gac/MyLib/0.0.0.0__3141592653589fff/MyLib.dll
</code></pre>

<p>I want the version of the wrapper to match that of the underlying C code being used so my question is (hopefully) a simple one. Where is that current version coming from, and how do I get it to be <code>3.14.15.9</code> (for example)?</p>