Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntityDesign / Design / System / Data / Entity / Design / AspNet / BuildProviderUtils.cs / 1305376 / BuildProviderUtils.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Globalization;
using System.IO;
using System.Resources;
using System.Web;
using System.Web.Compilation;
using System.Web.Hosting;
namespace System.Data.Entity.Design.AspNet
{
///
/// A place to put common methods used by our build providers
///
///
internal class BuildProviderUtils
{
///
/// Default constructor
///
private BuildProviderUtils()
{
}
internal static void AddArtifactReference(AssemblyBuilder assemblyBuilder, BuildProvider prov, string virtualPath)
{
// add the artifact as a resource to the DLL
using (Stream input = VirtualPathProvider.OpenFile(virtualPath))
{
// derive the resource name
string name = BuildProviderUtils.GetResourceNameForVirtualPath(virtualPath);
using (Stream resStream = assemblyBuilder.CreateEmbeddedResource(prov, name))
{
int byteRead = input.ReadByte();
while (byteRead != -1)
{
resStream.WriteByte((byte)byteRead);
byteRead = input.ReadByte();
}
}
}
}
///
/// Transforms a virtual path string into a valid resource name.
///
///
///
internal static string GetResourceNameForVirtualPath(string virtualPath)
{
string name = VirtualPathUtility.ToAppRelative(virtualPath);
Debug.Assert(name.StartsWith("~/"), "Expected app-relative path to start with ~/");
if (name.StartsWith("~/", StringComparison.OrdinalIgnoreCase))
{
name = name.Substring(2);
}
name = name.Replace("/", ".");
Debug.Assert(name.StartsWith(".") == false, "resource name unexpectedly starts with .");
return name;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HostingEnvironment.cs
- DataViewManager.cs
- DataMemberAttribute.cs
- ToolboxItemSnapLineBehavior.cs
- CommunicationObjectFaultedException.cs
- ITextView.cs
- Vector3DCollectionConverter.cs
- SQLStringStorage.cs
- Renderer.cs
- SimpleTypesSurrogate.cs
- IImplicitResourceProvider.cs
- TextBoxAutomationPeer.cs
- EnglishPluralizationService.cs
- Number.cs
- ReliableSession.cs
- AttributeInfo.cs
- RecordManager.cs
- UnsafeMethods.cs
- SamlConditions.cs
- StylusSystemGestureEventArgs.cs
- SupportingTokenListenerFactory.cs
- ToolZone.cs
- DataGridViewCellMouseEventArgs.cs
- webproxy.cs
- GeneralTransformCollection.cs
- Soap12ProtocolImporter.cs
- DBBindings.cs
- InvalidOleVariantTypeException.cs
- NavigationService.cs
- XpsFontSubsetter.cs
- SequentialWorkflowHeaderFooter.cs
- TypeTypeConverter.cs
- CompilationSection.cs
- CodeCompileUnit.cs
- ConfigurationSectionGroup.cs
- COM2ExtendedBrowsingHandler.cs
- KeyboardDevice.cs
- TypeToken.cs
- TableItemPattern.cs
- BamlResourceContent.cs
- ExpressionPrinter.cs
- MsmqIntegrationProcessProtocolHandler.cs
- IntPtr.cs
- GradientBrush.cs
- PolicyException.cs
- DataMemberFieldConverter.cs
- WebPartTransformerAttribute.cs
- TypedOperationInfo.cs
- TypeReference.cs
- GridPatternIdentifiers.cs
- CellTreeNode.cs
- SqlDataSourceView.cs
- __ComObject.cs
- ProfileManager.cs
- IPAddress.cs
- SQLStringStorage.cs
- XmlILIndex.cs
- FtpWebResponse.cs
- CryptoApi.cs
- PagesChangedEventArgs.cs
- XhtmlBasicSelectionListAdapter.cs
- ScrollBar.cs
- SupportingTokenProviderSpecification.cs
- UpdateManifestForBrowserApplication.cs
- CompositeDispatchFormatter.cs
- SafeArrayTypeMismatchException.cs
- DoubleLinkListEnumerator.cs
- ValidationContext.cs
- TypeExtension.cs
- ParameterToken.cs
- UrlMapping.cs
- Dispatcher.cs
- MinimizableAttributeTypeConverter.cs
- DecoderFallbackWithFailureFlag.cs
- NullableIntMinMaxAggregationOperator.cs
- counter.cs
- StylusPointPropertyUnit.cs
- ByteStorage.cs
- BindingNavigatorDesigner.cs
- EncodingDataItem.cs
- HttpWebResponse.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- SmtpReplyReaderFactory.cs
- MetadataPropertyvalue.cs
- DataControlButton.cs
- WorkflowControlClient.cs
- PropertyPushdownHelper.cs
- DataServiceQueryOfT.cs
- StyleSheetComponentEditor.cs
- Block.cs
- VisualCollection.cs
- BypassElementCollection.cs
- _WinHttpWebProxyDataBuilder.cs
- ResolvedKeyFrameEntry.cs
- ToolStripDropDownItem.cs
- Restrictions.cs
- InfoCardPolicy.cs
- PropertyMetadata.cs
- BitmapEffectGeneralTransform.cs
- TransactionScope.cs