企业库6是否适用于Visual Studio 2013和/或2015?

15

看起来这个工具不支持,但我们计划在未来的项目中使用它(日志记录、异常处理等)。它仍然得到支持吗?我没有看到像以前那样围绕这个工具的活动。

我们已经有了NewRelic,所以也很有帮助知道是否NewRelic可以完成日志记录/异常处理。例如,我是否可以创建自定义日志或异常并在New Relic仪表板上查看它们?

6个回答

33

可以。 您可以通过NugetEnterprise 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配置控制台扩展

若要将该扩展安装到Visual Studio 2013中,请按照以下解决方法步骤进行操作。

  • 链接下载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
Visual Studio 2013的解决方法无法与Enterprise Library 6兼容。 - PSR
@Sree,您可以再具体一些吗?我正在使用它。 - cilerler
@cilerler 我按照您指定的步骤进行了操作。当我右键单击应用程序配置文件->编辑配置文件时,出现以下错误:“无法启动配置控制台,找不到启动配置控制台所需的企业库二进制文件。请使用 NuGet 添加对企业库块的引用,或在方案中设置“企业库二进制文件路径”属性的值以指示二进制文件的位置。” - PSR
非常完美...你只需要安装Enterprise Library本身 - 比如通过NuGet: Install-Package EnterpriseLibrary.Logging - Gerwald
请注意,如果您在使用VS 2017时遇到问题,也可以通过添加以下内容来运行此安装:<VisualStudio Version="15.0"> <!-- VS2017 --> <Edition>Ultimate</Edition> <Edition>Premium</Edition> <Edition>Pro</Edition> </VisualStudio> - InquisitionX
显示剩余16条评论

19

1
太棒了!我们能得到一个VS 2017版本吗? - Geovani Martinez

0
我们需要将以下dll文件放置在asp.net、控制台或Windows应用程序的bin文件夹中。
•Microsoft.Practices.EnterpriseLibrary.Common.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll

在我的看法中,Microsoft.Practices.Unity.dll 在 entlib 6 中是可选的。

entlib 5 msdn 的来源


0

适用于 Visual Studio 2017。

<VisualStudio Version="15.0"> <!-- VS2017 -->
    <Edition>Enterprise</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
</VisualStudio>

请问我需要将它放在哪个文件夹和文件中? - Jeredriq Demas
  1. 将.vsix扩展名改为.zip / 2.打开vsixmanifest文件。/ 3.更改此问题并保存 / 4.将.zip重命名为vsix / 5.双击此文件。
- Aykut ÇALIŞKAN

0
我所负责的项目使用 Enterprise Library 6.0,而 VSIX 似乎是针对 EL 5 的。虽然我一直无法在 Visual Studio 2013 和 2015 中正确地让 VSIX 正常工作,但我可以使用 Microsoft 提供的二进制文件获取 Enterprise Library 6 配置工具。这里是一个链接,可进行下载。
选择 EnterpriseLibrary6-binaries.exe。 通过将文件解压缩到文件夹中进行安装。 64 位的 Enterprise Library 配置工具名为 EntLibConfig.exe。还有一个名为 EntLibConfig-32.exe 的 32 位版本。

0

是的,它确实可以。此链接将提供所有必要的详细信息https://msdn.microsoft.com/zh-cn/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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接