• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IBuildManager类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IBuildManager的典型用法代码示例。如果您正苦于以下问题:C# IBuildManager类的具体用法?C# IBuildManager怎么用?C# IBuildManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IBuildManager类属于命名空间,在下文中一共展示了IBuildManager类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: FilterTypesInAssemblies

        private static IEnumerable<Type> FilterTypesInAssemblies(IBuildManager buildManager, Predicate<Type> predicate)
        {
            // Go through all assemblies referenced by the application and search for types matching a predicate
            IEnumerable<Type> typesSoFar = Type.EmptyTypes;

            ICollection assemblies = buildManager.GetReferencedAssemblies();
            foreach (Assembly assembly in assemblies)
            {
                Type[] typesInAsm;
                try
                {
                    try
                    {
                        typesInAsm = assembly.GetExportedTypes();
                    }
                    catch (NotImplementedException)
                    {
                        typesInAsm = assembly.GetTypes();
                    }
                }
                catch (ReflectionTypeLoadException ex)
                {
                    typesInAsm = ex.Types;
                }
                typesSoFar = typesSoFar.Concat(typesInAsm);
            }
            return typesSoFar.Where(type => TypeIsPublicClass(type) && predicate(type));
        }
开发者ID:drivenet,项目名称:aspnetwebstack,代码行数:28,代码来源:TypeCacheUtil.cs


示例2: RegisterAllAreas

 internal static void RegisterAllAreas(RouteCollection routes, IBuildManager buildManager, object state) {
     List<Type> areaRegistrationTypes = TypeHelpers.FilterTypesInAssemblies(buildManager, IsAreaRegistrationType);
     foreach (Type areaRegistrationType in areaRegistrationTypes) {
         AreaRegistration registration = (AreaRegistration)Activator.CreateInstance(areaRegistrationType);
         registration.CreateContextAndRegister(routes, state);
     }
 }
开发者ID:Marceli,项目名称:JQueryGridTest,代码行数:7,代码来源:AreaRegistration.cs


示例3: BuildManager

        protected BuildManager(IBuildManager buildManager)
        {
            if (buildManager == null)
                throw new ArgumentNullException("buildManager");

            _buildManager = buildManager;
        }
开发者ID:stevenlauwers22,项目名称:AspNet.NoMvcAndTinyControllers,代码行数:7,代码来源:BuildManager.cs


示例4: GetFilteredTypesFromAssemblies

        /// <summary>
        /// 获取当前项目中满足指定条件的类型集合
        /// 首先从缓存文件中查询,若无缓存则遍历所有引用的程序集,并最后保存到缓存文件中
        /// </summary>
        /// <param name="cacheName">缓存文件名</param>
        /// <param name="predicate">类型匹配的规则(一个委托)</param>
        /// <param name="buildManager">操作类型缓存的组件</param>
        /// <returns>匹配的类型集合</returns>
        public static List<Type> GetFilteredTypesFromAssemblies(string cacheName, Predicate<Type> predicate, IBuildManager buildManager)
        {
            //类型缓存序列化器
            TypeCacheSerializer serializer = new TypeCacheSerializer();

            //首先从本地磁盘读取缓存路由的缓存文件,获取缓存的区域路由的类型集合
            // first, try reading from the cache on disk
            List<Type> matchingTypes = ReadTypesFromCache(cacheName, predicate, buildManager, serializer);
            if (matchingTypes != null)
            {
                return matchingTypes;
            }

            //如果没有读取到路由的缓存信息,则枚举每一个程序集寻找匹配的类型
            //即寻找继承了AreaRegistration的类,并且包含无参构造函数
            // if reading from the cache failed, enumerate over every assembly looking for a matching type
            matchingTypes = FilterTypesInAssemblies(buildManager, predicate).ToList();


            // 将类型信息保存到XML文件中作为缓存
            // C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\985b57d0\89016edd\UserCache\MVC-AreaRegistrationTypeCache.xml
            // finally, save the cache back to disk
            SaveTypesToCache(cacheName, matchingTypes, buildManager, serializer);

            return matchingTypes;
        }
开发者ID:mstmdev,项目名称:Mstm.aspnetwebstack,代码行数:34,代码来源:TypeCacheUtil.cs


示例5: RegisterAllAreas

 internal static void RegisterAllAreas(RouteCollection routes, IBuildManager buildManager, object state) {
     List<Type> areaRegistrationTypes = TypeCacheUtil.GetFilteredTypesFromAssemblies(_typeCacheName, IsAreaRegistrationType, buildManager);
     foreach (Type areaRegistrationType in areaRegistrationTypes) {
         AreaRegistration registration = (AreaRegistration)Activator.CreateInstance(areaRegistrationType);
         registration.CreateContextAndRegister(routes, state);
     }
 }
开发者ID:adrianvallejo,项目名称:MVC3_Source,代码行数:7,代码来源:AreaRegistration.cs


示例6: ValidateEnvironmentService

		public ValidateEnvironmentService(IDeployRequestManager deployRequestManager, IBuildManager buildManager, IProjectManager projectManager, IDeploymentValidator validator)
		{
			_deployRequestManager = DIHelper.VerifyParameter(deployRequestManager);
			_buildManager = DIHelper.VerifyParameter(buildManager);
			_projectManager = DIHelper.VerifyParameter(projectManager);
			_validator = DIHelper.VerifyParameter(validator);
		}
开发者ID:gsbastian,项目名称:Sriracha.Deploy,代码行数:7,代码来源:ValidateEnvironmentService.cs


示例7: ConventionBasedPresenterDiscoveryStrategy

        ///<summary>
        /// Creates a new instance of the ConventionBasedPresenterDiscoveryStrategy class.
        ///</summary>
        ///<param name="buildManager">The IBuildManager implementation to use.</param>
        public ConventionBasedPresenterDiscoveryStrategy(IBuildManager buildManager)
        {
            if (buildManager == null)
                throw new ArgumentNullException("buildManager");

            this.buildManager = buildManager;
        }
开发者ID:rrsc,项目名称:webformsmvp,代码行数:11,代码来源:ConventionBasedPresenterDiscoveryStrategy.cs


示例8: ReferencedExtensionLoader

 public ReferencedExtensionLoader(IDependenciesFolder dependenciesFolder, IVirtualPathProvider virtualPathProvider, IBuildManager buildManager)
     : base(dependenciesFolder)
 {
     _virtualPathProvider = virtualPathProvider;
     _buildManager = buildManager;
     Logger = NullLogger.Instance;
 }
开发者ID:gokhandisikara,项目名称:Coevery-Framework,代码行数:7,代码来源:ReferencedExtensionLoader.cs


示例9: GetBuildManager

 public static IBuildManager GetBuildManager()
 {
     if (_buildManager == null)
     {
         _buildManager = new BuildManager(_serviceProvider);
     }
     return _buildManager;
 }
开发者ID:Sunzhuokai,项目名称:VSSDK-Extensibility-Samples,代码行数:8,代码来源:Factory.cs


示例10: BuildPurger

        public BuildPurger(ISystemSettings systemSettings, IBuildManager buildManager, Logger logger, IDIFactory diFactory, IBuildPurgeRuleManager buildPurgeRuleManager)
		{
			_systemSettings = DIHelper.VerifyParameter(systemSettings);
			_buildManager = DIHelper.VerifyParameter(buildManager);
			_logger = DIHelper.VerifyParameter(logger);
			_diFactory = DIHelper.VerifyParameter(diFactory);
            _buildPurgeRuleManager = DIHelper.VerifyParameter(buildPurgeRuleManager);
		}
开发者ID:gsbastian,项目名称:Sriracha.Deploy,代码行数:8,代码来源:BuildPurger.cs


示例11: ThemeableBuildManagerViewEngine

        protected ThemeableBuildManagerViewEngine(IBuildManager buildManager) {
            
            if (buildManager == null) {
                throw new ArgumentNullException("buildManager");
            }

            BuildManager = buildManager;
        }
开发者ID:isyedakhtar,项目名称:Fabrik.Common,代码行数:8,代码来源:ThemeableBuildManagerViewEngine.cs


示例12: StartCore

        // Adds Parameter for unit tests
        internal static bool StartCore(IFileSystem fileSystem, string appDomainAppPath, string binDirectory, NameValueCollection appSettings, IEnumerable<AssemblyName> loadedAssemblies,
                                       IBuildManager buildManager, Action<Version> loadWebPages, Action registerForChangeNotification, Func<string, AssemblyName> getAssemblyNameThunk = null)
        {
            if (WebPagesDeployment.IsExplicitlyDisabled(appSettings))
            {
                // If WebPages is explicitly disabled, exit.
                Debug.WriteLine("WebPages Bootstrapper v{0}: not loading WebPages since it is disabled", AssemblyUtils.ThisAssemblyName.Version);
                return false;
            }

            Version maxWebPagesVersion = AssemblyUtils.GetMaxWebPagesVersion(loadedAssemblies);
            Debug.Assert(maxWebPagesVersion != null, "Function must return some max value.");
            if (AssemblyUtils.ThisAssemblyName.Version != maxWebPagesVersion)
            {
                // Always let the highest version determine what needs to be done. This would make future proofing simpler.
                Debug.WriteLine("WebPages Bootstrapper v{0}: Higher version v{1} is available.", AssemblyUtils.ThisAssemblyName.Version, maxWebPagesVersion);
                return false;
            }

            var webPagesEnabled = WebPagesDeployment.IsEnabled(fileSystem, appDomainAppPath, appSettings);
            Version binVersion = AssemblyUtils.GetVersionFromBin(binDirectory, fileSystem, getAssemblyNameThunk);
            Version version = WebPagesDeployment.GetVersionInternal(appSettings, binVersion, defaultVersion: maxWebPagesVersion);

            // Asserts to ensure unit tests are set up correctly. So essentially, we're unit testing the unit tests. 
            Debug.Assert(version != null, "GetVersion always returns a version");
            Debug.Assert(binVersion == null || binVersion <= maxWebPagesVersion, "binVersion cannot be higher than max version");

            if ((binVersion != null) && (binVersion != version))
            {
                // Determine if there's a version conflict. A conflict could occur if there's a version specified in the bin which is different from the version specified in the 
                // config that is different.
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ConfigurationResources.WebPagesVersionConflict, version, binVersion));
            }
            else if (binVersion != null)
            {
                // The rest of the code is only meant to be executed if we are executing from the GAC.
                // If a version is bin deployed, we don't need to do anything special to bootstrap.
                return false;
            }
            else if (!webPagesEnabled)
            {
                Debug.WriteLine("WebPages Bootstrapper v{0}: WebPages not enabled, registering for change notifications", AssemblyUtils.ThisAssemblyName.Version);
                // Register for change notifications under the application root
                registerForChangeNotification();
                return false;
            }
            else if (!AssemblyUtils.IsVersionAvailable(loadedAssemblies, version))
            {
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, ConfigurationResources.WebPagesVersionNotFound, version, AssemblyUtils.ThisAssemblyName.Version));
            }

            Debug.WriteLine("WebPages Bootstrapper v{0}: loading version {1}, loading WebPages", AssemblyUtils.ThisAssemblyName.Version, version);
            // If the version the application was compiled earlier was different, invalidate compilation results by adding a file to the bin.
            InvalidateCompilationResultsIfVersionChanged(buildManager, fileSystem, binDirectory, version);
            loadWebPages(version);
            return true;
        }
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:58,代码来源:PreApplicationStartCode.cs


示例13: BuildManagerTypeCache

 /// <summary>
 /// Initializes a new instance of the <see cref="BuildManagerTypeCache"/> class.
 /// </summary>
 /// <param name="buildManager">The build manager.</param>
 /// <param name="serializer">The serializer.</param>
 public BuildManagerTypeCache(IBuildManager buildManager, ITypeCacheSerializer serializer)
 {
     if (buildManager == null)
         throw new ArgumentNullException("buildManager");
     if (serializer == null)
         throw new ArgumentNullException("serializer");
     BuildManager = buildManager;
     Serializer = serializer;
 }
开发者ID:BclEx,项目名称:BclEx-Abstract,代码行数:14,代码来源:BuildManagerTypeCache.cs


示例14: WebFormRoutingHandler

        public WebFormRoutingHandler(string virtualPath, 
            bool validateAccessRights, IBuildManager buildManager)
            : base()
        {
            Precondition.Defined(virtualPath, () => Error.ArgumentNull("virtualPath"));

            _virtualPath = virtualPath;
            _validateAccessRights = validateAccessRights;
            _buildManager = buildManager;
        }
开发者ID:radischevo,项目名称:Radischevo.Wahha,代码行数:10,代码来源:WebFormRoutingHandler.cs


示例15: BuildManagerCompiledView

		protected BuildManagerCompiledView(string viewPath, 
			IBuildManager buildManager, IViewActivator activator)
        {
            Precondition.Defined(viewPath, () => Error.ArgumentNull("viewPath"));
			Precondition.Require(buildManager, () => Error.ArgumentNull("buildManager"));
			Precondition.Require(activator, () => Error.ArgumentNull("activator"));

            _viewPath = viewPath;
			_buildManager = buildManager;
			_activator = activator;
        }
开发者ID:radischevo,项目名称:Radischevo.Wahha,代码行数:11,代码来源:BuildManagerCompiledView.cs


示例16: GetFilteredTypesFromAssemblies

 //读取全部是从缓存文件中读,若为空先写入缓存,再读取。(基本上所有的涉及缓存的操作都是这么个套路)
 public static IEnumerable<Type> GetFilteredTypesFromAssemblies(string cacheName,IBuildManager buildManager,Predicate<Type> predict)
 {
     TypeCacheSerializer serializer = new TypeCacheSerializer();
     IEnumerable<Type> matchingTypes = ReadTypesFromCache(cacheName,predict,buildManager,serializer);
     if (matchingTypes!=null)
     {
         return matchingTypes;
     }
     matchingTypes = FilterTypesInAssemblies(buildManager,predict);
     SaveTypesToCache(cacheName,matchingTypes,buildManager,serializer);
     return matchingTypes;
 }
开发者ID:swfightforyl,项目名称:XMVC,代码行数:13,代码来源:TypeCacheUtil.cs


示例17: FilterTypesInAssemblies

 //时时刻刻能感受到,是我要怎么写代码,而不是我只能如何写代码,而是我真正驾驭着代码。
 private static IEnumerable<Type> FilterTypesInAssemblies(IBuildManager buildManager,Predicate<Type> predict)
 {
     //遍历所有的引用的assembly去找到匹配predict的Type
     IEnumerable<Type> typesSoFar = Type.EmptyTypes;
     ICollection assemblies = buildManager.GetReferencedAssemblies();
     foreach (Assembly assembly in assemblies)
     {
         Type[] typesInAsm = assembly.GetTypes();
         typesSoFar = typesSoFar.Concat(typesInAsm); //这么写有什么必要吗???
     }
     return typesSoFar.Where(type=>predict(type));
 }
开发者ID:swfightforyl,项目名称:XMVC,代码行数:13,代码来源:TypeCacheUtil.cs


示例18: SaveTypesToCache

 internal static void SaveTypesToCache(string cacheName, IList<Type> matchingTypes, IBuildManager buildManager, TypeCacheSerializer serializer) {
     try {
         Stream stream = buildManager.CreateCachedFile(cacheName);
         if (stream != null) {
             using (StreamWriter writer = new StreamWriter(stream)) {
                 serializer.SerializeTypes(matchingTypes, writer);
             }
         }
     }
     catch {
     }
 }
开发者ID:adrianvallejo,项目名称:MVC3_Source,代码行数:12,代码来源:TypeCacheUtil.cs


示例19: DefaultRazorCompilationEvents

 public DefaultRazorCompilationEvents(
     IDependenciesFolder dependenciesFolder,
     IExtensionDependenciesManager extensionDependenciesManager,
     IBuildManager buildManager,
     IEnumerable<IExtensionLoader> loaders,
     IAssemblyLoader assemblyLoader)
 {
     _dependenciesFolder = dependenciesFolder;
     _extensionDependenciesManager = extensionDependenciesManager;
     _buildManager = buildManager;
     _loaders = loaders;
     _assemblyLoader = assemblyLoader;
     Logger = NullLogger.Instance;
 }
开发者ID:qhme,项目名称:OrchardLite,代码行数:14,代码来源:IRazorCompilationEvents.cs


示例20: BuildTypeCache

		private static Dictionary<string, Type> BuildTypeCache(IBuildManager buildManager)
		{
			Dictionary<string, Type> cache = new Dictionary<string, Type>(
				StringComparer.OrdinalIgnoreCase);

			foreach (Type type in DiscoverControllerTypes(buildManager))
			{
				if (cache.ContainsKey(type.Name))
					throw Error.DuplicateControllerName(type.Name);

				cache.Add(type.Name, type);
			}
			return cache;
		}
开发者ID:radischevo,项目名称:Radischevo.Wahha,代码行数:14,代码来源:ControllerTypeCache.cs



注:本文中的IBuildManager类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IBuildTarget类代码示例发布时间:2022-05-24
下一篇:
C# IBuildEngine类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap