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.
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 public void TestClassIsNotBlocked()
 {
     var weaverHelper = new WeaverHelper(@"AssemblyToProcess\AssemblyToProcess.csproj");
     var type         = weaverHelper.Assembly.GetType("");
     var instance     = Activator.CreateInstance(type);
 }
Esempio n. 4
0
 public void Setup()
 {
     _assembly = WeaverHelper.WeaveAssembly();
 }
Esempio n. 5
0
 public void TestClassIsNotBlocked()
 {
     var weaverHelper = new WeaverHelper(@"AssemblyToProcess\AssemblyToProcess.csproj");
     var type = weaverHelper.Assembly.GetType("");
     var instance = Activator.CreateInstance(type);
 }