本文整理汇总了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;未经允许,请勿转载。 |
请发表评论