public void GetTargetFramework_From_WindowsPhone8_Assembly() { var projectPath = @"TestAssemblies\AssemblyToProcessPhone8\AssemblyToProcessPhone8.csproj"; #if (!DEBUG) projectPath = projectPath.Replace("Debug", "Release"); #endif var moduleDefinition = WeaverHelper.GetModuleDefinition(projectPath); var targetFramework = moduleDefinition.Assembly.GetTargetFramework(); targetFramework.Should().Be("WindowsPhone,Version=v8.0"); //weaverHelper.Assembly. }
public static Assembly WeaveAssembly() { var projectPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, String.Format(@"..\..\..\{0}\{1}.csproj", _folder, _name))); string directoryName = Path.GetDirectoryName(projectPath); if (String.IsNullOrWhiteSpace(directoryName)) { throw new Exception(String.Format("Invalid project path {0}.", projectPath)); } string dir = Path.Combine(directoryName, @"bin\Debug\"); WeaverHelper.CleanupExistingFiles(dir); var assemblyPath = Path.Combine(dir, String.Format(@"{0}.dll", _name)); var pdbPath = Path.Combine(dir, String.Format(@"{0}.pdb", _name)); #if (!DEBUG) assemblyPath = assemblyPath.Replace("Debug", "Release"); #endif // Copy the dll over. WeaverHelper.CopyAssembly2ForDebugging(assemblyPath); var newAssembly = assemblyPath.Replace( ".dll", String.Format("{0}{1}.dll", WeaverHelper._marker, Guid.NewGuid())); File.Copy(assemblyPath, newAssembly, true); // Copy the pdb over too. var newPdb = pdbPath.Replace( ".pdb", String.Format("{0}{1}.pdb", WeaverHelper._marker, Guid.NewGuid())); File.Copy(pdbPath, newPdb, true); var moduleDefinition = ModuleDefinition.ReadModule(newAssembly); var weavingTask = new ModuleWeaver { ModuleDefinition = moduleDefinition }; weavingTask.Execute(); moduleDefinition.Write(newAssembly); return(Assembly.LoadFile(newAssembly)); }
public void TestClassIsNotBlocked() { var weaverHelper = new WeaverHelper(@"AssemblyToProcess\AssemblyToProcess.csproj"); var type = weaverHelper.Assembly.GetType(""); var instance = Activator.CreateInstance(type); }
public void Setup() { _assembly = WeaverHelper.WeaveAssembly(); }