top of page

Student Group

Public·38 members

Microsoft Enterprise Library For Visual Studio 2005



The Enterprise Library was first released in January 2005 by the Microsoft Patternsand Practices team. The library includes a couple of application blocks (exceptionhandling, logging, security, ...) which have formerly been published separately.An update of the Enterprise Library was released in June 2005. Both releases aredesigned and tested for the .NET Framework 1.1. The June 2005 release is also compatiblewith .NET 2.0 (after some minor modifications, see below), i.e. the library canbe built with Visual Studio 2005 and it runs with the .NET Framework 2.0. (Thisis not true for the January 2005 release.)




microsoft enterprise library for visual studio 2005



The upcoming Enterprise Library 2.0 release, which will leverage the new capabilitiesof .NET 2.0, is announced and will soon be published. So why should you care aboutusing the Enterprise Library June 2005 with Visual Studio 2005? The Enterprise Library2.0 is not at all backwards compatible, there are significant changes to the internalarchitecture and the interfaces. Some application blocks which overlap with thenew parts of the .NET 2.0 runtime library have been removed completely.


The first step is to download and install the Guidance Automation Extensions and Guidance Automation Toolkit, After installing the GAX / GAT and EL then you should see new additional project types in Visual Studio. I created this provider library for EL 3.1 in Visual Studio 2005 (and the screen shots are this environment however the download has been rebuilt to work with Visual Studio 2008 and EL4 and should work in either environment.


Microsoft Visual C++ compiler release 2005 (v.8) or higher runtime libraries are not backward and forward compatible. When JD Edwards EnterpriseOne objects are compiled using Microsoft Visual C++ 2005 and linked into a dynamic link library (DLL), a manifest file is created for each DLL. This DLL-specific manifest identifies the runtime library version used to compile and link the objects that were built. Unlike past compilers, the runtime libraries must not only be release-specific but also version-specific. For instance, when the Microsoft Visual C++ 2005 Compiler and SPn, (where n represents a service pack) are installed on a machine, the Windows\WinSxS (side-by-side) folder is updated to include the associated compiler runtime libraries with the release level of Visual Studio 2005 SPn.


A Microsoft or third-party system management tool such as SMS can be used to distribute the Microsoft Visual C++ 2005 runtime libraries. This is generally the recommended approach for the distribution of Microsoft packaged product. The JD Edwards EnterpriseOne package build feature can also be used to push Microsoft's redistributable runtime library package to all Microsoft Windows client machines. Delivery of Microsoft Visual C++ 2005 runtime libraries for JD Edwards EnterpriseOne enterprise, logic, application, or batch servers is also explained in this appendix.


Once the VS2005 runtime library package feature has been created, it can be associated with either an update or full package. Creating an update package containing this feature will cause the full parent package assembly information to include this same feature.


Customers using a JDEdwards EnterpriseOne enterprise, logic, application, or batch server that does not have a Microsoft Visual C++ 2005 compiler installed, must install the associated Microsoft redistributable runtime library package (vcredist_x86.exe). Failure to install the runtime libraries while using a Microsoft Visual C++ 2005 built application foundation package on a machine without the supported compiler will result in "Business function Library load failed ..." error messages.


A Microsoft or third-party system management tool such as SMS could be used to distribute the Microsoft Visual C++ 2005 runtime libraries to these machines. This is generally the recommended approach for the distribution of Microsoft packaged products. In the absence of a system management tool, simply install the Microsoft redistributable runtime library package (vcredist_x86.exe).


  • General Well, I did not ran into any problems after the upgrade to .NET 3.5 while converting the existing Visual Studio 2005 solutions. I know about the advice to first upgrade the solutions, and then plan the introduction to .NET 3.5, but I couldn't resist. If you choose to upgrade your solution to .NET 3.5 during the automatic conversion, it seems that only the web application projects (or web site projects) are modified to target .NET 3.5. I'm not entirely sure about this, but at least, that is what I've observed. Unfortunately, you have to go through each and every project one by one and change its framework version. Beware that if you upgrade an existing ASP.NET 2.0 web site (or web application) to .NET 3.5, Visual Studio will automatically add an assembly redirect to your web.config that forwards any dependencies on the 1.0.61025.0 version of the System.Web.Extensions assembly to the corresponding .NET 3.5 assemblies. We did not notice any differences (yet), but if you do, you may need look in that area. All our existing control libraries (Obout, Telerik and the ASP.NET Ajax Control Toolkit) kept working without a glitch. There is a .NET 3.5-specific update of the AJAX Control Toolkit though. You can't update existing WCF Service References (the .map files created from within VS2005) anymore. You need to re-add the reference from scratch. See this post for more information. Although the installation of .NET 3.5 should not cause any troubles, we did not notice an anomaly after we installed Visual Studio 2008 next to Visual Studio 2005. The reason for this is that .NET 3.5 installer also installs two service packs on top of .NET 2.0 and 3.0. Apparently, we were using something that was wrong in the first place, but not detected by the compiler. Lucky, we invested heavily in unit tests and this one issue surfaced almost immediately. The best thing you should do after upgrading to Visual Studio 2008 is read about LINQ. We are using Nhibernate in our data access layer and don't need LINQ-to-SQL, but still, LINQ is the best thing since Generics. Even if you don't like the query expression, simply include the System.Linq namespace and enjoy the power of the many extension methods it adds to your arrays, lists and other collection classes.

  • Add-ins & Tools Beware that the Guidance Automation Extensions installer can only be installed once. You either have to choose to install it on Visual Studio 2005 or on Visual Studio 2008, but not both. Consider that if you're thinking about gradially migrating to 2008. The Web Client Software Factory does not officially work with VS2008 yet, but it appeared that the hack suggested by this knowledge base article works quite well. A more official version is expected in February. I discovered that the same trick also works for the Enterprise Library 3.1 installer. Obviously, EntLib is not compiled to .NET 3.5, but up to now, I did not find any issues related to that. Since the only changes with respect to EntLib is the service pack that the .NET Framework 3.5 installer applies to .NET Framework 2.0 The TFS Administration Tool is a beautiful little commodity that allows you to add or remove user accounts from TFS, WSS and SQL Reporting Services in a single click. Unfortunately, if you chose to upgrade Windows Sharepoint Services to 3.0 while upgrading from TFS 2005 to 2008, the tool does not work with WSS 3.0. For the time being, you have to fall back on the WSS Site Settings, but this will change soon. After installing the Guidance Automation Extensions of May 2007 and the software factories, some of my colleagues using the Team Developer edition of Visual Studio 2008 ran into multiple occurrences of the "System.IO.FileLoadException: Could not load file or assembly 'Microsoft.VisualStudio.TemplateWizardInterface, Version=9.0.0.0". As explained in this post, removing a single redirect from the devenv.exe.config solved the problem. It did not occur on a Team Suite install. I personally believe that JetBrains' Resharper is the very best tool since Visual Studio. Version 3.1 does work with Visual Studio 2008, but its excellent code analysis features have some trouble with the new C# 3.0 keywords. Until the Early Access Program for Resharper 4.0 opens, I found an acceptable workaround that gives (most of) the best of both worlds. Simply disable Resharper's Code Analysis function and let it use Visual Studio's Intellisense . You may have to re-enable the IntelliSense settings under Tools->Options->Text Editor->C#->IntelliSense. Even though Visual Studio's IntelliSense cannot compete with Resharper's, assigning the Alt-Enter keyboard shortcut to View.ShowSmartTag gives you a bit of Resharper-style behavior.

  • Unit testing & Team Build After upgrading, we noticed that while running unit tests, the Enterprise Library Logging Application Block could not find its enterpriselibrary.config (we moved the EntLib settings into a dedicated .config). At first, I thought it was a compatibility issue between .NET 3.5 and EntLib, but we also noticed that log4net was suffering from the same thing. After further investigation, I discovered that this is in fact a bug in Visual Studio 2008. As a workaround, we now have every test start with the following hack.AppDomain.CurrentDomain.SetData("APPBASE", Environment.CurrentDirectory); Right after upgrading your test project, you may notice that the ExpectedException attribute does not seem to work anymore. This usually happens because your test project will still try to load version 8.x of the Microsoft.VisualStudio.QualityTools.UnitTestFramework assembly (which is part of Visual Studio 2005). Simply remove it and then reference the correct version 9.x of the assembly again. See also this post for more information. If you have, like me, set-up your own workspaces from within your Team Build .proj file, you can now remove this stuff. The Build Definition dialog box allows configuring exactly which part of your source control tree should be included in the build. In Visual Studio 2005, it was not possible to configure Team Build to run all the unit tests part of an assembly without falling back on a .vsdmi test file. However, Buck Hodges provided a nice replacement for MSBuild's TestToolsTask that did the job quite nice. Fortunately, Microsoft integrated this functionality into Team Foundation Server 2008 out of the box. Simply define an with a that includes a wildcard pattern for the assemblies that should be included. For instance: Don't forget to go to Tools->Options->Test Tools->Test Execution and limit the number of Test Results during unit testing. Oh, and check out the new shortcut keys for starting/debugging the unit tests visible within the current context.

Obviously, this is not all. During the next weeks, I'll try to update this post with new experiences and solutions to common issues.


About

Welcome to the group! You can connect with other members, ge...
Group Page: Groups_SingleGroup
bottom of page