protected override void ExecuteCore()
        {
            LockFile lockFile = new LockFileCache(BuildEngine4).GetLockFile(AssetsFilePath);

            var nugetFramework = NuGetUtils.ParseFrameworkName(TargetFrameworkMoniker);

            lockFile.GetTargetAndThrowIfNotFound(nugetFramework, RuntimeIdentifier);
        }
Esempio n. 2
0
        protected override void ExecuteCore()
        {
            LockFile lockFile = new LockFileCache(this).GetLockFile(AssetsFilePath);

            lockFile.GetTargetAndThrowIfNotFound(TargetFramework, RuntimeIdentifier);
        }
Esempio n. 3
0
        protected override void ExecuteCore()
        {
            var lockFile = new LockFileCache(BuildEngine4).GetLockFile(ProjectAssetsFile);

            _packageResolver = NuGetPackageResolver.CreateResolver(lockFile, ProjectPath);

            var targetFramework   = NuGetUtils.ParseFrameworkName(TargetFrameworkMoniker);
            var compileTimeTarget = lockFile.GetTargetAndThrowIfNotFound(targetFramework, runtime: null);
            var runtimeTarget     = lockFile.GetTargetAndThrowIfNotFound(targetFramework, RuntimeIdentifier);

            CheckRuntimePackageDependencies(compileTimeTarget, runtimeTarget);

            Analyzers = RaiseAnalyzers(
                lockFile,
                runtimeTarget);

            CompileTimeAssemblies = RaisePackageAssets(
                compileTimeTarget,
                package => package.CompileTimeAssemblies,
                setup: (asset, item) =>
            {
                item.SetMetadata(MetadataKeys.Private, "false");
                item.SetMetadata(MetadataKeys.HintPath, item.ItemSpec);

                if (MarkPackageReferencesAsExternallyResolved)
                {
                    item.SetMetadata(MetadataKeys.ExternallyResolved, "true");
                }
            });

            if (!DisableFrameworkAssemblies)
            {
                FrameworkAssemblies = RaiseFrameworkAssemblies(
                    compileTimeTarget,
                    setup: (asset, item) =>
                {
                    item.SetMetadata(MetadataKeys.Pack, "false");
                    item.SetMetadata(MetadataKeys.Private, "false");
                    item.SetMetadata(MetadataKeys.NuGetIsFrameworkReference, "true");
                });
            }

            ContentFilesToPreprocess = RaisePackageAssets(
                runtimeTarget,
                p => p.ContentFiles,
                filter: asset => !string.IsNullOrEmpty(asset.PPOutputPath),
                setup: (asset, item) =>
            {
                item.SetMetadata(MetadataKeys.BuildAction, asset.BuildAction.ToString());
                item.SetMetadata(MetadataKeys.CopyToOutput, asset.CopyToOutput.ToString());
                item.SetMetadata(MetadataKeys.PPOutputPath, asset.PPOutputPath);

                if (!string.IsNullOrEmpty(MetadataKeys.OutputPath))
                {
                    item.SetMetadata(MetadataKeys.OutputPath, asset.OutputPath);
                }

                if (!string.IsNullOrEmpty(asset.CodeLanguage))
                {
                    item.SetMetadata(MetadataKeys.CodeLanguage, asset.CodeLanguage);
                }
            });

            NativeLibraries = RaisePackageAssets(
                runtimeTarget,
                package => package.NativeLibraries);

            ResourceAssemblies = RaisePackageAssets(
                runtimeTarget,
                package => package.ResourceAssemblies,
                setup: (asset, item) =>
            {
                string locale = asset.Properties["locale"];
                item.SetMetadata(MetadataKeys.Culture, locale);
                item.SetMetadata(MetadataKeys.DestinationSubDirectory, locale + Path.DirectorySeparatorChar);
            });

            RuntimeAssemblies = RaisePackageAssets(
                runtimeTarget,
                package => package.RuntimeAssemblies);

            RuntimeTargets = RaisePackageAssets(
                runtimeTarget,
                package => package.RuntimeTargets,
                setup: (asset, item) =>
            {
                string directory = Path.GetDirectoryName(asset.Path);
                item.SetMetadata(MetadataKeys.DestinationSubDirectory, directory + Path.DirectorySeparatorChar);
            });

            if (!DisableTransitiveProjectReferences)
            {
                TransitiveProjectReferences = RaiseTransitiveProjectReferences(lockFile, runtimeTarget);
            }
        }