コード例 #1
0
    private async Task AddReferenceAsync(
        ModuleInstallingContext context,
        PackageInfo targetPackage,
        PackageInfoWithAnalyze referencePackage)
    {
        var _csprojFileManager = context.ServiceProvider.GetRequiredService <ICsprojFileManager>();
        var csprojFilePath     = targetPackage.Path.RemovePostFix(PackageConsts.FileExtension) + ".csproj";

        if (context.WithSourceCode)
        {
            var referenceProjectPath = Directory.GetFiles(context.GetTargetSourceCodeFolder(),
                                                          $"*{referencePackage.Name}.csproj",
                                                          SearchOption.AllDirectories).FirstOrDefault();

            if (referenceProjectPath == null)
            {
                return;
            }

            await _csprojFileManager.AddProjectReferenceAsync(
                csprojFilePath,
                referenceProjectPath);
        }
        else
        {
            await _csprojFileManager.AddPackageReferenceAsync(
                csprojFilePath,
                referencePackage.Name,
                context.Version);
        }
    }
コード例 #2
0
ファイル: PackageReferencingStep.cs プロジェクト: xyfy/abp
    private string FindAbpModuleName(PackageInfoWithAnalyze package)
    {
        var abpModuleModel = package.Analyze.Contents.Where(y =>
                                                            y.ContentType == AbpModuleModel.ContentTypeName
                                                            ).Cast <AbpModuleModel>().First();

        return(abpModuleModel.Namespace + "." + abpModuleModel.Name);
    }
コード例 #3
0
    private List <PackageInfo> GetTargetPackages(List <PackageInfo> targetModulePackages,
                                                 PackageInfoWithAnalyze referencePackage)
    {
        if (PackageTypes.IsHostProject(referencePackage.Role))
        {
            return(new List <PackageInfo>());
        }

        if (PackageTypes.IsUiProject(referencePackage.Role))
        {
            var useHostBlazorServerForMvcPackages = targetModulePackages.All(p => p.Role != PackageTypes.HostMvc);
            var targetHostType =
                PackageTypes.GetHostTypeOfUi(referencePackage.Role, useHostBlazorServerForMvcPackages);

            return(targetModulePackages.Where(p => p.Role == targetHostType).ToList());
        }

        return(targetModulePackages.Where(p => p.Role == referencePackage.Role).ToList());
    }