Enterprise Library 6是否适用于Visual Studio 2013和/或2015?

时间:2014-06-19 14:39:25

标签: visual-studio-2013 enterprise-library visual-studio-2015

似乎没有,我们计划在未来的项目中使用它(Logging,Exception等)。它仍然受支持吗?我没有像过去那样看到这个工具有很多活动。

我们已经拥有NewRelic,因此也有助于了解NewRelic是否可以进行日志记录/异常处理。例如,我可以创建自定义日志或例外,并在新的遗留仪表板中查看它们吗?

6 个答案:

答案 0 :(得分:32)

确实如此。您可以通过Nuget Enterprise Library 6 添加到项目中。以下是示例应用程序。

using System;
using System.Diagnostics;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;

namespace Practice.Logging
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            LoggingConfiguration loggingConfiguration = BuildProgrammaticConfig();
            var defaultWriter = new LogWriter(loggingConfiguration);

            // Check if logging is enabled before creating log entries.
            if (defaultWriter.IsLoggingEnabled())
            {
                defaultWriter.Write("Log entry created using the simplest overload.");
                defaultWriter.Write("Log entry with a single category.", "General");
                defaultWriter.Write("Log entry with a category, priority, and event ID.", "General", 6, 9001);
                defaultWriter.Write("Log entry with a category, priority, event ID, " + "and severity.", "General", 5, 9002, TraceEventType.Warning);
                defaultWriter.Write("Log entry with a category, priority, event ID, " + "severity, and title.", "General", 8, 9003, TraceEventType.Warning, "Logging Block Examples");
            }
            else
            {
                Console.WriteLine("Logging is disabled in the configuration.");
            }
        }

        private static LoggingConfiguration BuildProgrammaticConfig()
        {
            // Formatter
            var formatter = new TextFormatter();

            // Trace Listeners
            var eventLog = new EventLog("Application", ".", "StackOverflow #24309323");
            var eventLogTraceListener = new FormattedEventLogTraceListener(eventLog, formatter);

            // Build Configuration
            var config = new LoggingConfiguration();
            config.AddLogSource("General", SourceLevels.All, true)
                  .AddTraceListener(eventLogTraceListener);

            config.IsTracingEnabled = true;
            return config;
        }
    }
}

您可以在Logging Application Block

中找到更多详情

使用Enterprise Library Configuration Console Extension

要将扩展安装到Visual Studio 2013中,您可以按照下面的解决方法步骤进行操作。

  • link
  • 下载Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix
  

VSIX文件是使用Open Packaging Convention的zip文件。   您可以将.VSIX扩展名重命名为.ZIP并使用任何zip浏览器   (包括Windows文件资源管理器)浏览其内容。

  • 将文件解压缩到文件夹
  • 在文件夹
  • 中找到名为 extension.vsixmanifest 的文件
  • 使用 notepad.exe
  • 打开文件
  • 找到
<SupportedProducts>
  <VisualStudio Version="11.0">
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
</SupportedProducts>
  • 并将其替换为下面的部分
<SupportedProducts>
  <VisualStudio Version="11.0">
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="12.0"> <!-- VS2013 -->
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="14.0"> <!-- VS2015 -->
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
</SupportedProducts>

comparison

  • 保存文件并退出
  • 再次将文件夹压缩为ZIP文件
  • 将扩展名重命名为VSIX
  • 双击它。

答案 1 :(得分:19)

技术上与@cilerler建议相同,但可随时下载并使用解决方案。

Visual Studio 2013: Microsoft.Practices.EnterpriseLibrary.ConfigConsole.V6.VS2013.vsixSource) Visual Studio 2015: Microsoft.Practices.EnterpriseLibrary.ConfigConsole.V6.VS2015.vsixSource

答案 2 :(得分:0)

我们需要在asp.net或控制台或Windows应用程序的bin文件夹中使用以下dll

•Microsoft.Practices.EnterpriseLibrary.Common.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll

实际上,我在entlib 6中看到的Microsoft.Practices.Unity.dll是可选的

source from entlib 5 msdn

答案 3 :(得分:0)

是的。此链接将提供所有必要的详细信息https://msdn.microsoft.com/en-us/library/dn169621.aspx

您也可以参考以下网站获取详细的实施方案。您可以安装vsix版本或二进制文件(http://www.microsoft.com/en-us/download/details.aspx?id=38789)来创建配置。 vsix有时不起作用,所以你可以修改extension.vsixmanifest,如下面的帖子所述。

http://www.gonetdotnet.info/posts/configure-and-use-enterprise-library-5-logging http://www.gonetdotnet.info/posts/how-to-configure-and-use-enterprise-library-5-0-application-blocks-using-nuget-package-manager

答案 4 :(得分:0)

我的项目是使用Enterprise Library 6.0,而VSIX似乎是针对EL 5.虽然我无法让VSIX在Visual Studio 2013和2015中正常工作,但我能够获得企业库6 Microsoft提供的二进制文件中的配置工具。这是下载的link

选择EnterpriseLibrary6-binaries.exe。 通过将文件解压缩到文件夹来安装它。 64位企业库配置工具,名为EntLibConfig.exe。还有一个名为EntLibConfig-32.exe的32位版本。

答案 5 :(得分:0)

对于Visual Studio 2017。

    IDisposable subscription =
    (
        from fn in fileNames.ToObservable()
        from extension in fn.ToObservable().TakeLast(4).ToArray()
        select new string(extension)
    )
        .ToArray()
        .Subscribe(extensions =>
        {
            /* Do something with the `extensions` */
        });