XNA needs ability to change Assembly GUID
Monkey Forums/Monkey Bug Reports/XNA needs ability to change Assembly GUID
| ||
At the moment, every app I build for XNA has the same Assembly GUID which means that on Windows Phone, every app you build overwrites the other apps (uses the same storage space). Plus, I believe this will need to be changed before submission to the Windows Phone Marketplace. The GUID appears to be hard-coded in the file: MonkeyGame/MonkeyGame/Properties/AssemblyInfo.cs Can this be auto-generated when the app is built, or become a CONFIG option that we can manually tweak? |
| ||
You can add this to your monkey project:#if TARGET="xna" then #XNA_ASSEMBLY_GUID="52d54c07-1a2a-4bac-a6c1-1ffb3b9abcde" #End "..\MonkeyPro66\targets\xna\MonkeyGame\MonkeyGame\Properties\AssemblyInfo.cs" needs to be changed as follows [assembly: Guid(MonkeyConfig.XNA_ASSEMBLY_GUID)] XNA_ASSEMBLY_GUID="52d54c07-1a2a-4bac-a6c1-1ffb3b9d65ba" should also be added to "..\MonkeyPro66\targets\xna\CONFIG.MONKEY" |
| ||
@Rone, That's excellent, thank you. Do you know if the Assembly GUID can be anything, or if there are formatting requirements? EDIT: This didn't appear to work, it just put MonkeyConfig.XNA_ASSEMBLY_GUID as the Assembly GUID. Doesn't look like Trans is parsing that file for MonkeyConfig vars. |
| ||
Did you delete the .build folder? Cause it seems to work here... |
| ||
I did, I deleted and started over from scratch. It builds fine, but when I go into VS and to the Assembly info, it is showing MonkeyConfig.XNA_ASSEMBLY_GUID instead of the Guid. I'm using v66 |
| ||
yes, but it does not matter what is written in the dialog, AssemblyInfo.cs is crucial. As long as .XNA_ASSEMBLY_GUID is const and a valid guid, it will work. You can test it class Helper { public static string AssemblyGuidString(System.Reflection.Assembly assembly) { var objects = assembly.GetCustomAttributes( typeof(System.Runtime.InteropServices.GuidAttribute), false); if (objects != null && objects.Length > 0) { return ((System.Runtime.InteropServices.GuidAttribute)objects[0]).Value; } else { return String.Empty; } } }; //... var assa = System.Reflection.Assembly.GetExecutingAssembly(); var val = Helper.AssemblyGuidString(assa); System.Console.WriteLine(val.ToString()); |