parent
beb2f7c7fd
commit
e1a3637107
@ -1,171 +0,0 @@
|
||||
// This software is part of the Autofac IoC container
|
||||
// Copyright © 2012 Autofac Contributors
|
||||
// http://autofac.org
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Mvc.Async;
|
||||
using Autofac.Features.Metadata;
|
||||
|
||||
namespace Autofac.Integration.Mvc
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines a filter provider for filter attributes that performs property injection.
|
||||
/// </summary>
|
||||
public class AutofacFilterProvider : FilterAttributeFilterProvider
|
||||
{
|
||||
class FilterContext
|
||||
{
|
||||
public ActionDescriptor ActionDescriptor { get; set; }
|
||||
public ILifetimeScope LifetimeScope { get; set; }
|
||||
public Type ControllerType { get; set; }
|
||||
public List<Filter> Filters { get; set; }
|
||||
}
|
||||
|
||||
internal static string ActionFilterMetadataKey = "AutofacMvcActionFilter";
|
||||
|
||||
internal static string AuthorizationFilterMetadataKey = "AutofacMvcAuthorizationFilter";
|
||||
|
||||
internal static string ExceptionFilterMetadataKey = "AutofacMvcExceptionFilter";
|
||||
|
||||
internal static string ResultFilterMetadataKey = "AutofacMvcResultFilter";
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="AutofacFilterProvider"/> class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The <c>false</c> constructor parameter passed to base here ensures that attribute instances are not cached.
|
||||
/// </remarks>
|
||||
public AutofacFilterProvider() : base(false)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggregates the filters from all of the filter providers into one collection.
|
||||
/// </summary>
|
||||
/// <param name="controllerContext">The controller context.</param>
|
||||
/// <param name="actionDescriptor">The action descriptor.</param>
|
||||
/// <returns>
|
||||
/// The collection filters from all of the filter providers with properties injected.
|
||||
/// </returns>
|
||||
/// <exception cref="System.ArgumentNullException">
|
||||
/// Thrown if <paramref name="controllerContext" /> is <see langword="null" />.
|
||||
/// </exception>
|
||||
public override IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
|
||||
{
|
||||
if (controllerContext == null)
|
||||
{
|
||||
throw new ArgumentNullException("controllerContext");
|
||||
}
|
||||
var filters = base.GetFilters(controllerContext, actionDescriptor).ToList();
|
||||
var lifetimeScope = AutofacDependencyResolver.Current.RequestLifetimeScope;
|
||||
|
||||
if (lifetimeScope != null)
|
||||
{
|
||||
foreach (var filter in filters)
|
||||
lifetimeScope.InjectProperties(filter.Instance);
|
||||
|
||||
var controllerType = controllerContext.Controller.GetType();
|
||||
|
||||
var filterContext = new FilterContext
|
||||
{
|
||||
ActionDescriptor = actionDescriptor,
|
||||
LifetimeScope = lifetimeScope,
|
||||
ControllerType = controllerType,
|
||||
Filters = filters
|
||||
};
|
||||
|
||||
ResolveControllerScopedFilters(filterContext);
|
||||
|
||||
ResolveActionScopedFilters<ReflectedActionDescriptor>(filterContext, d => d.MethodInfo);
|
||||
ResolveActionScopedFilters<ReflectedAsyncActionDescriptor>(filterContext, d => d.AsyncMethodInfo);
|
||||
}
|
||||
|
||||
return filters.ToArray();
|
||||
}
|
||||
|
||||
static void ResolveControllerScopedFilters(FilterContext filterContext)
|
||||
{
|
||||
ResolveControllerScopedFilter<IActionFilter>(filterContext, ActionFilterMetadataKey);
|
||||
ResolveControllerScopedFilter<IAuthorizationFilter>(filterContext, AuthorizationFilterMetadataKey);
|
||||
ResolveControllerScopedFilter<IExceptionFilter>(filterContext, ExceptionFilterMetadataKey);
|
||||
ResolveControllerScopedFilter<IResultFilter>(filterContext, ResultFilterMetadataKey);
|
||||
}
|
||||
|
||||
static void ResolveControllerScopedFilter<TFilter>(FilterContext filterContext, string metadataKey)
|
||||
where TFilter : class
|
||||
{
|
||||
var actionFilters = filterContext.LifetimeScope.Resolve<IEnumerable<Meta<Lazy<TFilter>>>>();
|
||||
|
||||
foreach (var actionFilter in actionFilters.Where(a => a.Metadata.ContainsKey(metadataKey) && a.Metadata[metadataKey] is FilterMetadata))
|
||||
{
|
||||
var metadata = (FilterMetadata)actionFilter.Metadata[metadataKey];
|
||||
if (metadata.ControllerType != null
|
||||
&& metadata.ControllerType.IsAssignableFrom(filterContext.ControllerType)
|
||||
&& metadata.FilterScope == FilterScope.Controller
|
||||
&& metadata.MethodInfo == null)
|
||||
{
|
||||
var filter = new Filter(actionFilter.Value.Value, FilterScope.Controller, metadata.Order);
|
||||
filterContext.Filters.Add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ResolveActionScopedFilters<T>(FilterContext filterContext, Func<T, MethodInfo> methodSelector)
|
||||
where T : ActionDescriptor
|
||||
{
|
||||
var actionDescriptor = filterContext.ActionDescriptor as T;
|
||||
if (actionDescriptor == null) return;
|
||||
|
||||
var methodInfo = methodSelector(actionDescriptor);
|
||||
|
||||
ResolveActionScopedFilter<IActionFilter>(filterContext, methodInfo, ActionFilterMetadataKey);
|
||||
ResolveActionScopedFilter<IAuthorizationFilter>(filterContext, methodInfo, AuthorizationFilterMetadataKey);
|
||||
ResolveActionScopedFilter<IExceptionFilter>(filterContext, methodInfo, ExceptionFilterMetadataKey);
|
||||
ResolveActionScopedFilter<IResultFilter>(filterContext, methodInfo, ResultFilterMetadataKey);
|
||||
}
|
||||
|
||||
static void ResolveActionScopedFilter<TFilter>(FilterContext filterContext, MethodInfo methodInfo, string metadataKey)
|
||||
where TFilter : class
|
||||
{
|
||||
var actionFilters = filterContext.LifetimeScope.Resolve<IEnumerable<Meta<Lazy<TFilter>>>>();
|
||||
|
||||
foreach (var actionFilter in actionFilters.Where(a => a.Metadata.ContainsKey(metadataKey) && a.Metadata[metadataKey] is FilterMetadata))
|
||||
{
|
||||
var metadata = (FilterMetadata)actionFilter.Metadata[metadataKey];
|
||||
if (metadata.ControllerType != null
|
||||
&& metadata.ControllerType.IsAssignableFrom(filterContext.ControllerType)
|
||||
&& metadata.FilterScope == FilterScope.Action
|
||||
&& metadata.MethodInfo.GetBaseDefinition() == methodInfo.GetBaseDefinition())
|
||||
{
|
||||
var filter = new Filter(actionFilter.Value.Value, FilterScope.Action, metadata.Order);
|
||||
filterContext.Filters.Add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
// This software is part of the Autofac IoC container
|
||||
// Copyright © 2011 Autofac Contributors
|
||||
// http://autofac.org
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Autofac.Features.Metadata;
|
||||
|
||||
namespace Autofac.Integration.Mvc
|
||||
{
|
||||
/// <summary>
|
||||
/// Autofac implementation of the <see cref="IModelBinderProvider"/> interface.
|
||||
/// </summary>
|
||||
public class AutofacModelBinderProvider : IModelBinderProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Metadata key for the supported model types.
|
||||
/// </summary>
|
||||
internal static readonly string MetadataKey = "SupportedModelTypes";
|
||||
|
||||
/// <summary>
|
||||
/// Gets the model binder associated with the provided model type.
|
||||
/// </summary>
|
||||
/// <param name="modelType">Type of the model.</param>
|
||||
/// <returns>An <see cref="IModelBinder"/> instance if found; otherwise, <c>null</c>.</returns>
|
||||
public IModelBinder GetBinder(Type modelType)
|
||||
{
|
||||
var modelBinders = DependencyResolver.Current.GetServices<Meta<Lazy<IModelBinder>>>();
|
||||
|
||||
var modelBinder = modelBinders
|
||||
.Where(binder => binder.Metadata.ContainsKey(MetadataKey))
|
||||
.FirstOrDefault(binder => ((List<Type>)binder.Metadata[MetadataKey]).Contains(modelType));
|
||||
return (modelBinder != null) ? modelBinder.Value.Value : null;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,129 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="InvalidActionExpress" xml:space="preserve">
|
||||
<value>The action method Expression is invalid. It should consist only of a Method call to a controller action method.</value>
|
||||
</data>
|
||||
<data name="InvalidModelBinderType" xml:space="preserve">
|
||||
<value>Type list may not be empty or contain all null values.</value>
|
||||
</data>
|
||||
<data name="MustBeAssignableToFilterType" xml:space="preserve">
|
||||
<value>The type '{0}' must be assignable to the filter type '{1}'.</value>
|
||||
</data>
|
||||
</root>
|
@ -1,79 +0,0 @@
|
||||
// This software is part of the Autofac IoC container
|
||||
// Copyright © 2011 Autofac Contributors
|
||||
// http://autofac.org
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
using System;
|
||||
using System.Web;
|
||||
|
||||
namespace Autofac.Integration.Mvc
|
||||
{
|
||||
/// <summary>
|
||||
/// An <see cref="IHttpModule"/> and <see cref="ILifetimeScopeProvider"/> implementation
|
||||
/// that creates a nested lifetime scope for each HTTP request.
|
||||
/// </summary>
|
||||
internal class RequestLifetimeHttpModule : IHttpModule
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the lifetime scope provider that should be notified when a HTTP request ends.
|
||||
/// </summary>
|
||||
internal static ILifetimeScopeProvider LifetimeScopeProvider { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a module and prepares it to handle requests.
|
||||
/// </summary>
|
||||
/// <param name="context">An <see cref="T:System.Web.HttpApplication"/> that provides access to the
|
||||
/// methods, properties, and events common to all application objects within an ASP.NET application</param>
|
||||
/// <exception cref="System.ArgumentNullException">
|
||||
/// Thrown if <paramref name="context" /> is <see langword="null" />.
|
||||
/// </exception>
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
if (context == null)
|
||||
{
|
||||
throw new ArgumentNullException("context");
|
||||
}
|
||||
context.EndRequest += OnEndRequest;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disposes of the resources (other than memory) used by the module that implements <see cref="T:System.Web.IHttpModule"/>.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
public static void SetLifetimeScopeProvider(ILifetimeScopeProvider lifetimeScopeProvider)
|
||||
{
|
||||
if (lifetimeScopeProvider == null) throw new ArgumentNullException("lifetimeScopeProvider");
|
||||
|
||||
LifetimeScopeProvider = lifetimeScopeProvider;
|
||||
}
|
||||
|
||||
static void OnEndRequest(object sender, EventArgs e)
|
||||
{
|
||||
if (LifetimeScopeProvider != null)
|
||||
LifetimeScopeProvider.EndLifetimeScope();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,126 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="HttpContextNotAvailable" xml:space="preserve">
|
||||
<value>The request lifetime scope cannot be created because the HttpContext is not available.</value>
|
||||
</data>
|
||||
<data name="NullLifetimeScopeReturned" xml:space="preserve">
|
||||
<value>The 'GetLifetimeScopeCore' method implementation on '{0}' returned a null ILifetimeScope instance. When overridden this method must return a valid ILifetimeScope instance for the current HTTP request.</value>
|
||||
</data>
|
||||
</root>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Autofac" version="3.0.1" targetFramework="net40" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" />
|
||||
<package id="Microsoft.AspNet.Razor" version="2.0.20715.0" targetFramework="net40" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
|
||||
</packages>
|
Binary file not shown.
@ -1,53 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
|
||||
<configSections>
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, ctt" />
|
||||
</configSections>
|
||||
|
||||
<log4net>
|
||||
<!-- contexts:
|
||||
-->
|
||||
<!-- Setup the root category, add the appenders and set the default priority
|
||||
Off, Fatal, Error, Warn, Info, Debug, All.-->
|
||||
<root>
|
||||
<level value="All" />
|
||||
<appender-ref ref="RollingFileAppender" />
|
||||
<appender-ref ref="TraceAppender" />
|
||||
<appender-ref ref="ConsoleAppender" />
|
||||
</root>
|
||||
|
||||
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<param name="File" value="logs\\ConfigTransformationTool.log" />
|
||||
<param name="AppendToFile" value="true" />
|
||||
<param name="RollingStyle" value="Size" />
|
||||
<param name="MaxSizeRollBackups" value="10" />
|
||||
<param name="MaximumFileSize" value="1MB" />
|
||||
<param name="StaticLogFileName" value="true" />
|
||||
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<header value="[Application Starts] " />
|
||||
<footer value="[Application Stops] " />
|
||||
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss} %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
</log4net>
|
||||
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
</startup>
|
||||
</configuration>
|
Binary file not shown.
Binary file not shown.
@ -1,208 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>DeskMetrics.NET</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.Start">
|
||||
<summary>
|
||||
Starts the application tracking.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.Stop">
|
||||
<summary>
|
||||
Stops the application tracking and send the collected data to DeskMetrics
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEvent(System.String,System.String)">
|
||||
<summary>
|
||||
Register an event occurrence
|
||||
</summary>
|
||||
<param name="eventCategory">EventCategory Category</param>
|
||||
<param name="eventName">EventCategory eventName</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEventPeriod(System.String,System.String,System.TimeSpan,System.Boolean)">
|
||||
<summary>
|
||||
Tracks an event related to time and intervals
|
||||
</summary>
|
||||
<param name="eventCategory">
|
||||
The event category
|
||||
</param>
|
||||
<param name="eventName">
|
||||
The event name
|
||||
</param>
|
||||
<param name="eventTime">
|
||||
The event duration
|
||||
</param>
|
||||
<param name="completed">
|
||||
True if the event was completed.
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterInstall">
|
||||
<summary>
|
||||
Tracks an installation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterUninstall">
|
||||
<summary>
|
||||
Tracks an uninstall
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterException(System.Exception)">
|
||||
<summary>
|
||||
Tracks an exception
|
||||
</summary>
|
||||
<param name="exception">
|
||||
The exception object to be tracked
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterEventValue(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Tracks an event with custom value
|
||||
</summary>
|
||||
<param name="eventCategory">
|
||||
The event category
|
||||
</param>
|
||||
<param name="eventName">
|
||||
The event name
|
||||
</param>
|
||||
<param name="eventValue">
|
||||
The custom value
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterCustomData(System.String,System.String)">
|
||||
<summary>
|
||||
Tracks custom data
|
||||
</summary>
|
||||
<param name="key">
|
||||
The custom data name
|
||||
</param>
|
||||
<param name="value">
|
||||
The custom data value
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.IDeskMetricsClient.RegisterLog(System.String)">
|
||||
<summary>
|
||||
Tracks a log
|
||||
</summary>
|
||||
<param name="message">
|
||||
The log message
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.Start">
|
||||
<summary>
|
||||
Starts the application tracking.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.Stop">
|
||||
<summary>
|
||||
Stops the application tracking and send the collected data to DeskMetrics
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEvent(System.String,System.String)">
|
||||
<summary>
|
||||
Register an event occurrence
|
||||
</summary>
|
||||
<param name="eventCategory">EventCategory Category</param>
|
||||
<param name="eventName">EventCategory eventName</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEventPeriod(System.String,System.String,System.TimeSpan,System.Boolean)">
|
||||
<summary>
|
||||
Tracks an event related to time and intervals
|
||||
</summary>
|
||||
<param name="eventCategory">
|
||||
The event category
|
||||
</param>
|
||||
<param name="eventName">
|
||||
The event name
|
||||
</param>
|
||||
<param name="eventTime">
|
||||
The event duration
|
||||
</param>
|
||||
<param name="completed">
|
||||
True if the event was completed.
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterInstall">
|
||||
<summary>
|
||||
Tracks an installation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterUninstall">
|
||||
<summary>
|
||||
Tracks an uninstall
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterException(System.Exception)">
|
||||
<summary>
|
||||
Tracks an exception
|
||||
</summary>
|
||||
<param name="exception">
|
||||
The exception object to be tracked
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterEventValue(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Tracks an event with custom value
|
||||
</summary>
|
||||
<param name="eventCategory">
|
||||
The event category
|
||||
</param>
|
||||
<param name="eventName">
|
||||
The event name
|
||||
</param>
|
||||
<param name="eventValue">
|
||||
The custom value
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterCustomData(System.String,System.String)">
|
||||
<summary>
|
||||
Tracks custom data
|
||||
</summary>
|
||||
<param name="key">
|
||||
The custom data name
|
||||
</param>
|
||||
<param name="value">
|
||||
The custom data value
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:DeskMetrics.DeskMetricsClient.RegisterLog(System.String)">
|
||||
<summary>
|
||||
Tracks a log
|
||||
</summary>
|
||||
<param name="message">
|
||||
The log message
|
||||
</param>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.Started">
|
||||
<summary>
|
||||
Indicates if the Start() has been called and a session is active.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.SessionId">
|
||||
<summary>
|
||||
Currently active session. will be null if no sessions are active.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.ApplicationId">
|
||||
<summary>
|
||||
DeskmMtrics Application ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.ApplicationVersion">
|
||||
<summary>
|
||||
Version of application being tracked.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.Enabled">
|
||||
<summary>
|
||||
Checks if application events are tracked.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DeskMetrics.DeskMetricsClient.UserId">
|
||||
<summary>
|
||||
Anonymous identifier of the user being tracked.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,203 +0,0 @@
|
||||
VCB Command-line Utility ver. 3.2
|
||||
|
||||
NOTE: Implementation details and latest version of the tool can be found at
|
||||
http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
|
||||
|
||||
AutoVer.exe is a command-line utility that provides functionality
|
||||
similar to VCB Add-in - it automates versioning of projects in
|
||||
solutions.
|
||||
|
||||
Supported workspaces/solutions:
|
||||
- Visual C++ 6.0 workspaces (.dsw files)
|
||||
- Visual Studio 2002 solutions (.sln files)
|
||||
- Visual Studio 2003 solutions (.sln files)
|
||||
- Visual Studio 2005 solutions (.sln files)
|
||||
- Visual Studio 2008 solutions (.sln files)
|
||||
- Visual Studio 2010 solutions (.sln files)
|
||||
|
||||
The tool extracts version information (AssemblyVersion,
|
||||
AssemblyInformationalVersion and AssemblyFileVersion for .NET projects or
|
||||
ProductVersion and FileVersion for VC++ projects) and increments versions
|
||||
according to settings in configuration file or according to command-line
|
||||
switches that override some settings in configuration file. Configuration file
|
||||
is stored in
|
||||
Application Data\Versioning Controlled Build
|
||||
folder of user's profile and can be modified by Configurator program.
|
||||
|
||||
Basic Syntax:
|
||||
|
||||
AUTOVER /?
|
||||
AUTOVER [solution] /G
|
||||
AUTOVER [solution [version]] [/P:projects] [/C:(E|W)] [/A:(A|M)]
|
||||
[/V:(*|[A][F][P|I])] [/S:(S|I|N)] [/M:([C][F["filename"]]|N)]
|
||||
[/U:(username[,password])]
|
||||
|
||||
/? Displays command help.
|
||||
|
||||
solution Solution file (.SLN or .DSW) for which versions should be updated.
|
||||
If solution file is omitted, "Open Solution File" dialog pops-up
|
||||
allowing user to select the file.
|
||||
|
||||
/G Starts GUI form with a list of all projects.
|
||||
NOTE: This switch should not be used with any other switch.
|
||||
|
||||
Examples:
|
||||
AUTOVER /G
|
||||
AUTOVER /G "C:\My Projects\My Solution.sln"
|
||||
AUTOVER "C:\My Projects\My Solution.sln" /G
|
||||
|
||||
version Version pattern to be applied. Version pattern is a sequence of
|
||||
four dot separated version components: Major, Minor, Build and
|
||||
Revision. Each component may contain number (optionally preceded by
|
||||
'+' character) or '*' character:
|
||||
'*' character leaves corresponding version component unchanged,
|
||||
'+' character increments it by amount specified.
|
||||
For example, version pattern "1.2.*.+2" sets Major version to 1
|
||||
and Minor to 2, leaves Build unchanged and increments Revision by
|
||||
2.
|
||||
If version is omitted, versions are incremented by the scheme
|
||||
stored in the configuration file. If configuration file does not
|
||||
exist, Revision will be incremented by 1.
|
||||
If configured so, user may enter arbitrary version (e.g. "beta 1")
|
||||
but can apply it to AssemblyInformationalVersion only (using /V:I
|
||||
or /V:I switch).However such a version will not be applied to
|
||||
ProductVersion of VC++ projects.
|
||||
Arbitrary version must not contain a dot character.
|
||||
NOTE: version pattern cannot be applied in combination with /S
|
||||
switch.
|
||||
|
||||
Examples:
|
||||
AUTOVER "C:\My Projects\My Solution.sln" "1.0.0.1"
|
||||
AUTOVER "C:\My Projects\My Solution.sln" "1.+1,*.*"
|
||||
AUTOVER "C:\My Projects\My Solution.sln" "beta2" /V:I
|
||||
|
||||
/P Specifications for individual projects as defined in the list
|
||||
supplied with this switch. If this switch is omitted, all projects
|
||||
in solution are considered, according to settings in configuration
|
||||
file.
|
||||
|
||||
projects List of comma separated project names. Each project name may be
|
||||
prefixed by:
|
||||
+ (optional) include project into the list of projects for
|
||||
which version may be modified;
|
||||
- exclude project from the list of projects for which version
|
||||
may be modified (complement to + prefix);
|
||||
! include project into list of projects for which version is
|
||||
always modified.
|
||||
If a project name contains whitespace, you should enclose it with
|
||||
double quotes. Same applies for the case when project name starts
|
||||
with one of prefix characters.
|
||||
NOTE: Version of project that may be versioned will be modified
|
||||
only if other criteria apply (e.g. project modification has been
|
||||
detected or /A:A switch has been set).
|
||||
NOTE: Project name may be listed only once, otherwise an error is
|
||||
issued and command is not executed.
|
||||
|
||||
Examples:
|
||||
AUTOVER "My Solution.sln" /P:"ConsoleApp1","ConsoleApp2"
|
||||
AUTOVER "My Solution.sln" /P:-"Xlib"
|
||||
AUTOVER "My Solution.sln" /P:!"ConsoleApp1",-"ConsoleApp2"
|
||||
|
||||
/C Check if project names provided with /P, /X and /F switches exist
|
||||
in solution. Any invalid name causes:
|
||||
E Error - command is not executed (default);
|
||||
W Warning - command is executed ignoring invalid entries.
|
||||
|
||||
/A Apply version to:
|
||||
A All projects;
|
||||
M Modified projects only (default).
|
||||
NOTE: /P and /X switches change the scope of /A switch by limiting
|
||||
the scope to or excluding corresponding projects from scope,
|
||||
respectively.
|
||||
/F switch extends the scope of /A:M switch by including
|
||||
corresponding projects.
|
||||
|
||||
/V Version types to modify:
|
||||
A Assembly version;
|
||||
P or I Product (i.e. Informational) version;
|
||||
F File version;
|
||||
* All version types.
|
||||
If this switch is omitted, settings from configuration file are
|
||||
applied. If configuration file does not exist, only Assembly
|
||||
version is modified.
|
||||
|
||||
Examples:
|
||||
AUTOVER "My Solution.sln" "1.+1.*.*"/V:AF
|
||||
AUTOVER "My Solution.sln" /V:*
|
||||
|
||||
/S Synchronization of versions in projects:
|
||||
S Synchronize (to the highest version);
|
||||
I Increment and then synchronize;
|
||||
N Increment versions independently.
|
||||
If this switch is omitted, settings from configuration file are
|
||||
applied. If configuration file does not exist, versions are
|
||||
incremented independently.
|
||||
NOTE: this switch cannot be used if version pattern is provided.
|
||||
|
||||
Example:
|
||||
AUTOVER "My Solution.sln" /S:I
|
||||
|
||||
/M Version update summary:
|
||||
C Output to console (default);
|
||||
F Write to a file (with optional filename);
|
||||
N Suppress the summary.
|
||||
If filename is omitted from /M:F switch, name is automatically
|
||||
created from solution filename.
|
||||
|
||||
Example:
|
||||
AUTOVER "My Solution.sln" /M:CF"summary.txt"
|
||||
|
||||
/U SourceSafe username and password. If username or password are not
|
||||
provided, user will be prompted to enter them if solution is under
|
||||
SourceSafe control. If you do not want to provide password with
|
||||
command stored in a script (e.g. in a BAT file), you may store
|
||||
username only (without comma after it: /G:username); user will be
|
||||
prompted to enter password when command is run.
|
||||
NOTE: If /U switch is omitted and solution is under SourceSafe
|
||||
control, username and password of the currently logged user is
|
||||
used; if it is not valid, user will be prompted to enter them for
|
||||
each file to be checked out!
|
||||
|
||||
Examples:
|
||||
Provide username and password:
|
||||
AUTOVER "My Solution.sln" /U:john,smith
|
||||
Provide username and empty password:
|
||||
AUTOVER "My Solution.sln" /U:john,
|
||||
AUTOVER "My Solution.sln" /U:john,""
|
||||
Provide username only, user will be prompted to enter password:
|
||||
AUTOVER "My Solution.sln" /U:john
|
||||
User will be prompted to enter username and password:
|
||||
AUTOVER "My Solution.sln" /U
|
||||
|
||||
|
||||
EXAMPLE 1:
|
||||
|
||||
AUTOVER /V:* /A:M "d:\my projects\MySolution.sln"
|
||||
|
||||
This command increments all versions (Assembly, File and Product) of
|
||||
modified projects in MySolution solution, using numbering scheme from
|
||||
configuration file (or default scheme if configuration file does not
|
||||
exist)
|
||||
|
||||
|
||||
EXAMPLE 2:
|
||||
|
||||
AUTOVER /V:AF /A:A "d:\my projects\MySolution.sln"
|
||||
"2.0.*.+"
|
||||
|
||||
This command sets Assembly and File versions for all projects from
|
||||
MySolution solution, using version mask provided:
|
||||
- major version is set to 2
|
||||
- minor version is set to 0
|
||||
- build is left intact
|
||||
- revision is incremented by 1
|
||||
|
||||
|
||||
EXAMPLE 3:
|
||||
|
||||
AUTOVER /G
|
||||
|
||||
This command first pops-up File Open dialog so that user can browse for
|
||||
a solution file. When user selects a SLN or DSW file, form with a list
|
||||
of all projects is displayed, providing user precise control to set
|
||||
versions for individual projects.
|
Binary file not shown.
Binary file not shown.
@ -1,51 +0,0 @@
|
||||
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
<SOAP-ENV:Body>
|
||||
<a1:Hashtable id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
|
||||
<LoadFactor>0.72</LoadFactor>
|
||||
<Version>2</Version>
|
||||
<Comparer xsi:null="1"/>
|
||||
<HashCodeProvider xsi:null="1"/>
|
||||
<HashSize>11</HashSize>
|
||||
<Keys href="#ref-2"/>
|
||||
<Values href="#ref-3"/>
|
||||
</a1:Hashtable>
|
||||
<SOAP-ENC:Array id="ref-2" SOAP-ENC:arrayType="xsd:anyType[2]">
|
||||
<item id="ref-4" xsi:type="SOAP-ENC:string">_reserved_nestedSavedStates</item>
|
||||
<item id="ref-5" xsi:type="SOAP-ENC:string">_reserved_lastInstallerAttempted</item>
|
||||
</SOAP-ENC:Array>
|
||||
<SOAP-ENC:Array id="ref-3" SOAP-ENC:arrayType="xsd:anyType[2]">
|
||||
<item href="#ref-6"/>
|
||||
<item xsi:type="xsd:int">0</item>
|
||||
</SOAP-ENC:Array>
|
||||
<SOAP-ENC:Array id="ref-6" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
|
||||
<item href="#ref-7"/>
|
||||
</SOAP-ENC:Array>
|
||||
<a1:Hashtable id="ref-7" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
|
||||
<LoadFactor>0.72</LoadFactor>
|
||||
<Version>6</Version>
|
||||
<Comparer xsi:null="1"/>
|
||||
<HashCodeProvider xsi:null="1"/>
|
||||
<HashSize>11</HashSize>
|
||||
<Keys href="#ref-8"/>
|
||||
<Values href="#ref-9"/>
|
||||
</a1:Hashtable>
|
||||
<SOAP-ENC:Array id="ref-8" SOAP-ENC:arrayType="xsd:anyType[6]">
|
||||
<item id="ref-10" xsi:type="SOAP-ENC:string">VS_7_1_INSTALLDIR</item>
|
||||
<item href="#ref-4"/>
|
||||
<item id="ref-11" xsi:type="SOAP-ENC:string">VS_8_0_INSTALLDIR</item>
|
||||
<item id="ref-12" xsi:type="SOAP-ENC:string">VS_10_0_INSTALLDIR</item>
|
||||
<item id="ref-13" xsi:type="SOAP-ENC:string">VS_9_0_INSTALLDIR</item>
|
||||
<item href="#ref-5"/>
|
||||
</SOAP-ENC:Array>
|
||||
<SOAP-ENC:Array id="ref-9" SOAP-ENC:arrayType="xsd:anyType[6]">
|
||||
<item xsi:type="xsd:boolean">true</item>
|
||||
<item href="#ref-14"/>
|
||||
<item xsi:type="xsd:boolean">true</item>
|
||||
<item xsi:type="xsd:boolean">true</item>
|
||||
<item xsi:type="xsd:boolean">true</item>
|
||||
<item xsi:type="xsd:int">-1</item>
|
||||
</SOAP-ENC:Array>
|
||||
<SOAP-ENC:Array id="ref-14" SOAP-ENC:arrayType="a1:IDictionary[0]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
|
||||
</SOAP-ENC:Array>
|
||||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>
|
Binary file not shown.
@ -1,148 +0,0 @@
|
||||
<Configuration>
|
||||
<CodeStyleSettings>
|
||||
<ExternalPath IsNull="False" />
|
||||
<Sharing>SOLUTION</Sharing>
|
||||
<CSS>
|
||||
<FormatSettings />
|
||||
<Naming2 />
|
||||
</CSS>
|
||||
<CSharp>
|
||||
<FormatSettings>
|
||||
<ALIGN_FIRST_ARG_BY_PAREN>True</ALIGN_FIRST_ARG_BY_PAREN>
|
||||
<ALIGN_MULTILINE_FOR_STMT>False</ALIGN_MULTILINE_FOR_STMT>
|
||||
<CONTINUOUS_INDENT_MULTIPLIER>2</CONTINUOUS_INDENT_MULTIPLIER>
|
||||
<FORCE_ATTRIBUTE_STYLE>SEPARATE</FORCE_ATTRIBUTE_STYLE>
|
||||
<INDENT_NESTED_FIXED_STMT>True</INDENT_NESTED_FIXED_STMT>
|
||||
<INDENT_NESTED_USINGS_STMT>True</INDENT_NESTED_USINGS_STMT>
|
||||
<LINE_FEED_AT_FILE_END>True</LINE_FEED_AT_FILE_END>
|
||||
<MODIFIERS_ORDER IsNull="False">
|
||||
<Item>public</Item>
|
||||
<Item>protected</Item>
|
||||
<Item>internal</Item>
|
||||
<Item>private</Item>
|
||||
<Item>new</Item>
|
||||
<Item>abstract</Item>
|
||||
<Item>virtual</Item>
|
||||
<Item>override</Item>
|
||||
<Item>sealed</Item>
|
||||
<Item>static</Item>
|
||||
<Item>readonly</Item>
|
||||
<Item>extern</Item>
|
||||
<Item>unsafe</Item>
|
||||
<Item>volatile</Item>
|
||||
</MODIFIERS_ORDER>
|
||||
<SPACE_AFTER_TYPECAST_PARENTHESES>False</SPACE_AFTER_TYPECAST_PARENTHESES>
|
||||
<SPACE_AROUND_ARROW_OP>True</SPACE_AROUND_ARROW_OP>
|
||||
<SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>
|
||||
<SPACE_BEFORE_CATCH_PARENTHESES>False</SPACE_BEFORE_CATCH_PARENTHESES>
|
||||
<SPACE_BEFORE_FIXED_PARENTHESES>False</SPACE_BEFORE_FIXED_PARENTHESES>
|
||||
<SPACE_BEFORE_FOR_PARENTHESES>False</SPACE_BEFORE_FOR_PARENTHESES>
|
||||
<SPACE_BEFORE_FOR_SEMICOLON>True</SPACE_BEFORE_FOR_SEMICOLON>
|
||||
<SPACE_BEFORE_FOREACH_PARENTHESES>False</SPACE_BEFORE_FOREACH_PARENTHESES>
|
||||
<SPACE_BEFORE_IF_PARENTHESES>False</SPACE_BEFORE_IF_PARENTHESES>
|
||||
<SPACE_BEFORE_LOCK_PARENTHESES>False</SPACE_BEFORE_LOCK_PARENTHESES>
|
||||
<SPACE_BEFORE_SIZEOF_PARENTHESES>False</SPACE_BEFORE_SIZEOF_PARENTHESES>
|
||||
<SPACE_BEFORE_SWITCH_PARENTHESES>False</SPACE_BEFORE_SWITCH_PARENTHESES>
|
||||
<SPACE_BEFORE_TYPE_PARAMETER_ANGLE>True</SPACE_BEFORE_TYPE_PARAMETER_ANGLE>
|
||||
<SPACE_BEFORE_TYPE_PARAMETER_CONSTRAINT_COLON>False</SPACE_BEFORE_TYPE_PARAMETER_CONSTRAINT_COLON>
|
||||
<SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>
|
||||
<SPACE_BEFORE_USING_PARENTHESES>False</SPACE_BEFORE_USING_PARENTHESES>
|
||||
<SPACE_BEFORE_WHILE_PARENTHESES>False</SPACE_BEFORE_WHILE_PARENTHESES>
|
||||
<STICK_COMMENT>False</STICK_COMMENT>
|
||||
</FormatSettings>
|
||||
<UsingsSettings>
|
||||
<MandatoryImports IsNull="False">
|
||||
<Item>System.Linq</Item>
|
||||
</MandatoryImports>
|
||||
</UsingsSettings>
|
||||
<Naming2>
|
||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
||||
</Naming2>
|
||||
</CSharp>
|
||||
<HTML>
|
||||
<FormatSettings />
|
||||
</HTML>
|
||||
<JavaScript>
|
||||
<FormatSettings />
|
||||
<Naming2>
|
||||
<UserRule Name="JS_LOCAL_VARIABLE" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
|
||||
<UserRule Name="JS_FUNCTION" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
|
||||
<UserRule Name="JS_PARAMETER" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
|
||||
<UserRule Name="JS_LABEL" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
|
||||
<UserRule Name="JS_GLOBAL_VARIABLE" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
||||
<UserRule Name="JS_OBJECT_PROPERTY_OF_FUNCTION" Inspect="True" Prefix="" Suffix="" Style="aaBb" />
|
||||
<UserRule Name="JS_CONSTRUCTOR" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
||||
</Naming2>
|
||||
</JavaScript>
|
||||
<VB>
|
||||
<FormatSettings />
|
||||
<ImportsSettings />
|
||||
<Naming2>
|
||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
||||
</Naming2>
|
||||
</VB>
|
||||
<Web>
|
||||
<Naming2 />
|
||||
</Web>
|
||||
<XML>
|
||||
<FormatSettings />
|
||||
</XML>
|
||||
<Xaml>
|
||||
<Naming2 />
|
||||
</Xaml>
|
||||
<GenerateMemberBody />
|
||||
<Naming2>
|
||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateStaticReadonly" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
|
||||
<PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
|
||||
<PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
|
||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PublicFields" />
|
||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
|
||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="Constants" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="PrivateConstants" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
|
||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
|
||||
<Abbreviation Text="IIS" />
|
||||
</Naming2>
|
||||
</CodeStyleSettings>
|
||||
<Daemon.SolutionSettings>
|
||||
<SkipFilesAndFolders>
|
||||
<Item>43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD/d:Content/d:2011.2.712</Item>
|
||||
<Item>43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD/d:Content/d:jQueryUI</Item>
|
||||
</SkipFilesAndFolders>
|
||||
</Daemon.SolutionSettings>
|
||||
<SharedSolutionTemplateManager>
|
||||
<LiveTemplates>
|
||||
<Template uid="3ec01bf0-ad83-4b4c-a0b2-381f28e3c369" shortcut="Test" description="Test Method" text="[NUnit.Framework.Test]
[NUnit.Framework.Description("$TEST_NAME$")]
public void $TEST_METHOD_NAME$() 
{
 //Act

 //Assert

}" reformat="True" shortenQualifiedReferences="True">
|
||||
<Scopes>
|
||||
<Scope type="InCSharpTypeMember" minimumLanguageVersion="2.0" />
|
||||
</Scopes>
|
||||
<Categories />
|
||||
<Variables>
|
||||
<Variable name="TEST_NAME" expression="" initialRange="0" />
|
||||
<Variable name="TEST_METHOD_NAME" expression="spacestounderstrokes(TEST_NAME)" initialRange="-1" />
|
||||
</Variables>
|
||||
<CustomProperties />
|
||||
</Template>
|
||||
<Template uid="26915659-690b-46fa-a776-0d5995a33936" shortcut="Logger" description="" text="private static readonly Logger Logger = LogManager.GetCurrentClassLogger();" reformat="True" shortenQualifiedReferences="True">
|
||||
<Scopes>
|
||||
<Scope type="Everywhere" />
|
||||
<Scope type="InCSharpTypeMember" minimumLanguageVersion="2.0" />
|
||||
</Scopes>
|
||||
<Categories />
|
||||
<Variables />
|
||||
<CustomProperties />
|
||||
</Template>
|
||||
</LiveTemplates>
|
||||
</SharedSolutionTemplateManager>
|
||||
</Configuration>
|
Loading…
Reference in new issue