示例#1
0
        public void DoesNotOssSignAndInPreproccessAssembly()
        {
            // Arrange
            var compilerOptions = new FakeCompilerOptions()
            {
                UseOssSigning = true
            };

            var target = new CompilationTarget(TestName, new FrameworkName(TestFrameworkName), string.Empty, "preprocess");

            // Act
            var compilationContext = Compile(compilerOptions, target);

            Assert.Equal(OutputKind.DynamicallyLinkedLibrary, compilationContext.Compilation.Options.OutputKind);
            Assert.Equal(null, compilationContext.Compilation.Options.CryptoKeyFile);
            Assert.Equal(0, compilationContext.Compilation.Options.CryptoPublicKey.Length);
            Assert.False(compilationContext.Compilation.Options.DelaySign);
        }
示例#2
0
        public void DoesNotOssSignAndInPreproccessAssembly()
        {
            // Arrange
            var compilerOptions = new FakeCompilerOptions()
            {
                UseOssSigning = true
            };

            var target = new CompilationTarget(TestName, new FrameworkName(TestFrameworkName), string.Empty, "preprocess");

            // Act
            var compilationContext = Compile(compilerOptions, target);

            Assert.Equal(OutputKind.DynamicallyLinkedLibrary, compilationContext.Compilation.Options.OutputKind);
            Assert.Equal(null, compilationContext.Compilation.Options.CryptoKeyFile);
            Assert.Equal(0, compilationContext.Compilation.Options.CryptoPublicKey.Length);
            Assert.False(compilationContext.Compilation.Options.DelaySign);
        }
示例#3
0
        private static CompilationContext Compile(FakeCompilerOptions compilerOptions, CompilationTarget target)
        {
            var cacheContextAccessor = new FakeCacheContextAccessor {
                Current = new CacheContext(null, (d) => { })
            };

            var compilationProjectContext = new CompilationProjectContext(
                target,
                Directory.GetCurrentDirectory(),
                "project.json",
                TestTitle,
                TestDescription,
                TestCopyright,
                TestVersion,
                Version.Parse(TestAssemblyFileVersion),
                false,
                new CompilationFiles(
                    new List <string> {
            },
                    new List <string> {
            }),
                compilerOptions);

            var compiler = new RoslynCompiler(null, cacheContextAccessor, new FakeNamedDependencyProvider(), null, null, null);

            var assembly          = typeof(object).GetTypeInfo().Assembly;
            var metadataReference = new FakeMetadataReference()
            {
                MetadataReference = MetadataReference.CreateFromFile((string)assembly.GetType().GetProperty("Location").GetValue(assembly))
            };

            var compilationContext = compiler.CompileProject(
                compilationProjectContext,
                new List <IMetadataReference> {
                metadataReference
            },
                new List <ISourceReference> {
            },
                () => new List <ResourceDescriptor>(),
                "Debug");

            return(compilationContext);
        }
示例#4
0
        private static CompilationContext Compile(FakeCompilerOptions compilerOptions, CompilationTarget target)
        {
            var cacheContextAccessor = new FakeCacheContextAccessor {Current = new CacheContext(null, (d) => { })};

            var compilationProjectContext = new CompilationProjectContext(
               target,
                Directory.GetCurrentDirectory(),
                "project.json",
                TestTitle,
                TestDescription,
                TestCopyright,
                TestVersion,
                Version.Parse(TestAssemblyFileVersion),
                false,
                new CompilationFiles(
                    new List<string> {},
                    new List<string> {}),
                compilerOptions);

            var compiler = new RoslynCompiler(null, cacheContextAccessor, new FakeNamedDependencyProvider(), null, null, null);

            var assembly = typeof (object).GetTypeInfo().Assembly;
            var metadataReference = new FakeMetadataReference()
            {
                MetadataReference = MetadataReference.CreateFromFile((string)assembly.GetType().GetProperty("Location").GetValue(assembly))
            };

            var compilationContext = compiler.CompileProject(
                compilationProjectContext,
                new List<IMetadataReference> { metadataReference },
                new List<ISourceReference> {},
                () => new List<ResourceDescriptor>(),
                "Debug");
            return compilationContext;
        }