[Mono-bugs] [Bug 74931][Maj] New - al.exe overwrites its input file, doesn't sign assembly

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Fri, 13 May 2005 04:23:17 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by michi@zeroc.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74931

--- shadow/74931	2005-05-13 04:23:17.000000000 -0400
+++ shadow/74931.tmp.13708	2005-05-13 04:23:17.000000000 -0400
@@ -0,0 +1,59 @@
+Bug#: 74931
+Product: Mono: Compilers
+Version: 1.1
+OS: 
+OS Details: RH8, dual-CPU
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: Other.
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: michi@zeroc.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: al.exe overwrites its input file, doesn't sign assembly
+
+I have a file policy.2.1.icecs with the following contents:
+
+<configuration>
+    <runtime>
+        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+            <dependentAssembly>
+                <assemblyIdentity name="icecs"
+publicKeyToken="1f998c50fec78381" culture=""/>
+                <publisherPolicy apply="yes"/>
+                <bindingRedirect oldVersion="2.1.0.0" newVersion="2.1.1.0"/>
+            </dependentAssembly>
+        </assemblyBinding>
+    </runtime>
+</configuration>
+
+The idea is to install that in the GAC so already deployed applications
+built with the 2.1.0 runtime can run with the 2.1.1 runtime instead.
+
+So, I compile my policy file:
+
+al /link:policy.2.1.icecs /out:policy.2.1.icecs.dll /keyfile:IcecsKey.snk
+
+(The key file is valid and used to sign other assemblies successfully.)
+
+The command succeeds, no error.
+
+Then I cat policy.2.1.icecs and find that it's contents have been replaced
+with binary. In other words, al.exe overwrites its own input file.
+
+The command also creates policy.2.1.icecs.dll, as expected. However, when I
+try to install that dll in the GAC, gacutil tells me that the assembly
+isn't signed and therefore can't be installed.
+
+So, it looks like this is two bugs: the input file is overwritten, and the
+assembly isn't signed.
+
+Cheers,
+
+Michi.
+
+PS: The very same thing works exactly as expected under Windows.