public AssemblyInfoViewModel(AssemblyInfo assemblyInfo) { this.assemblyInfo = assemblyInfo; NewGuidCommand = new RelayCommand(() => Guid = System.Guid.NewGuid()); var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); Languages = new Dictionary<string, string>(); Languages.Add( NONE_LANGUAGE_CODE, string.Format("({0})", StringParser.Parse("${res:Dialog.ProjectOptions.AssemblyInfo.None}"))); Languages.AddRange(cultures.ToDictionary(x => x.Name, x => x.DisplayName).Distinct().OrderBy(x => x.Value)); }
protected override void Load(MSBuildBasedProject project, string configuration, string platform) { var assemblyInfoFileName = GetAssemblyInfoFileName(project); if (string.IsNullOrEmpty(assemblyInfoFileName)) { assemblyInfo = new AssemblyInfo(); MessageService.ShowError("${res:Dialog.ProjectOptions.AssemblyInfo.AssemblyInfoNotFound}"); } else { var assemblyInfoProvider = new AssemblyInfoProvider(); assemblyInfo = assemblyInfoProvider.ReadAssemblyInfo(assemblyInfoFileName); } var assemblyInfoViewModel = new AssemblyInfoViewModel(assemblyInfo); assemblyInfoViewModel.PropertyChanged += OnAssemblyInfoChanged; DataContext = assemblyInfoViewModel; base.Load(project, configuration, platform); }
private string WriteAssemblyInfoFile(AssemblyInfo assemblyInfo, string sourceFile) { using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes(sourceFile))) { var assemblyInfoProvider = new AssemblyInfoProvider(); return assemblyInfoProvider.MergeAssemblyInfo(assemblyInfo, inputStream); } }
public void WriteNotDefaultAssemblyInfoToNotEmptyAssemblyInfoFileTest() { var assemblyInfoFile = AssemblyInfoSample1; var assemblyInfo = new AssemblyInfo { Title = "SharpDevelop-changed", Description = "OpenSource IDE-changed", Company = "Company-changed", Product = "Product-changed", Copyright = "Copyright 2014-changed", Trademark = "Trademark-changed", DefaultAlias = "Alias-changed", AssemblyVersion = new Version(4, 3, 2, 1).ToString(), AssemblyFileVersion = new Version(4, 3, 2, 1).ToString(), InformationalVersion = new Version(4, 3, 2, 1).ToString(), Guid = new Guid("dc8c889f-ced2-4167-b155-2d48a99d8c72"), NeutralLanguage = "en-US", ComVisible = false, ClsCompliant = false, JitOptimization = false, JitTracking = false }; var result = WriteAssemblyInfoFile(assemblyInfo, assemblyInfoFile); Assert.AreEqual( @"using System; using System.Reflection; using System.Resources; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle (""SharpDevelop-changed"")] [assembly: AssemblyDescription (""OpenSource IDE-changed"")] [assembly: AssemblyCompany (""Company-changed"")] [assembly: AssemblyProduct (""Product-changed"")] [assembly: AssemblyCopyright (""Copyright 2014-changed"")] [assembly: AssemblyTrademark (""Trademark-changed"")] [assembly: AssemblyDefaultAlias (""Alias-changed"")] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible (false)] // The assembly version has following format : // // Major.Minor.Build.Revision // // You can specify all the values or you can use the default the Revision and // Build Numbers by using the '*' as shown below: [assembly: AssemblyVersion (""4.3.2.1"")] [assembly: AssemblyFileVersion (""4.3.2.1"")] [assembly: AssemblyInformationalVersion (""4.3.2.1"")] [assembly: Guid (""dc8c889f-ced2-4167-b155-2d48a99d8c72"")] [assembly: NeutralResourcesLanguage (""en-US"")] [assembly: AssemblyFlags (AssemblyNameFlags.PublicKey | AssemblyNameFlags.EnableJITcompileOptimizer)] [assembly: CLSCompliant (false)] ", result); }
public void WriteNotDefaultAssemblyInfoToEmptyAssemblyInfoFileTest() { var assemblyInfoFile = "using System.Reflection;"; var assemblyInfo = new AssemblyInfo { Title = "SharpDevelop", Description = "OpenSource IDE", Company = "Company", Product = "Product", Copyright = "Copyright 2014", Trademark = "Trademark", DefaultAlias = "Alias", AssemblyVersion = new Version(1, 2, 3, 4).ToString(), AssemblyFileVersion = new Version(1, 2, 3, 4).ToString(), InformationalVersion = new Version(1, 2, 3, 4).ToString(), Guid = new Guid("0c8c889f-ced2-4167-b155-2d48a99d8c72"), NeutralLanguage = "ru-RU", ComVisible = true, ClsCompliant = true, JitOptimization = true, JitTracking = true }; var result = WriteAssemblyInfoFile(assemblyInfo, assemblyInfoFile); Assert.AreEqual( @"using System; using System.Reflection; using System.Resources; using System.Runtime.InteropServices; [assembly: AssemblyTitle (""SharpDevelop"")] [assembly: AssemblyDescription (""OpenSource IDE"")] [assembly: AssemblyCompany (""Company"")] [assembly: AssemblyProduct (""Product"")] [assembly: AssemblyCopyright (""Copyright 2014"")] [assembly: AssemblyTrademark (""Trademark"")] [assembly: AssemblyDefaultAlias (""Alias"")] [assembly: AssemblyVersion (""1.2.3.4"")] [assembly: AssemblyFileVersion (""1.2.3.4"")] [assembly: AssemblyInformationalVersion (""1.2.3.4"")] [assembly: Guid (""0c8c889f-ced2-4167-b155-2d48a99d8c72"")] [assembly: NeutralResourcesLanguage (""ru-RU"")] [assembly: ComVisible (true)] [assembly: CLSCompliant (true)] [assembly: AssemblyFlags (AssemblyNameFlags.PublicKey | AssemblyNameFlags.EnableJITcompileTracking)] ", result); }
public void WriteDefaultAssemblyInfoToEmptyAssemblyInfoFileTest() { var assemblyInfoFile = "using System;"; var assemblyInfo = new AssemblyInfo { JitOptimization = true }; var result = WriteAssemblyInfoFile(assemblyInfo, assemblyInfoFile); Assert.AreEqual("using System;\r\nusing System.Reflection;\r\n\r\n", result); }
public void WriteAssemblyFlagsTests() { var assemblyInfo = new AssemblyInfo { JitOptimization = false, JitTracking = true }; Assert.AreEqual( @"using System; using System.Reflection; [assembly: AssemblyFlags (AssemblyNameFlags.PublicKey | AssemblyNameFlags.EnableJITcompileOptimizer | AssemblyNameFlags.EnableJITcompileTracking)] ", WriteAssemblyInfoFile(assemblyInfo, string.Empty)); assemblyInfo = new AssemblyInfo { JitOptimization = true, JitTracking = true }; Assert.AreEqual( @"using System; using System.Reflection; [assembly: AssemblyFlags (AssemblyNameFlags.PublicKey | AssemblyNameFlags.EnableJITcompileTracking)] ", WriteAssemblyInfoFile(assemblyInfo, string.Empty)); assemblyInfo = new AssemblyInfo { JitOptimization = true, JitTracking = false }; Assert.AreEqual("using System;\r\nusing System.Reflection;\r\n\r\n", WriteAssemblyInfoFile(assemblyInfo, string.Empty)); assemblyInfo = new AssemblyInfo { JitOptimization = false, JitTracking = false }; Assert.AreEqual( @"using System; using System.Reflection; [assembly: AssemblyFlags (AssemblyNameFlags.PublicKey | AssemblyNameFlags.EnableJITcompileOptimizer)] ", WriteAssemblyInfoFile(assemblyInfo, string.Empty)); }