Modernizing your Legacy .NET application – Part 1

Disadvantages of consuming DLL from Network path

The .NET Framework allows developers to use dynamic-link libraries (DLLs) in their applications to take advantage of pre-built code. However, when consuming DLLs from a network path, there are several disadvantages that can negatively impact the performance and security of the application.

  1. Performance: Consuming DLLs from a network path can greatly slow down the application’s performance. This is because the application has to constantly access the network to retrieve the DLLs, which can lead to delays in loading the application and increased network traffic.
  2. Security: When consuming DLLs from a network path, there is a higher risk of security breaches. This is because the DLLs are stored on a network location that may be accessible by multiple users, making it easier for malicious actors to tamper with or steal the DLLs.
  3. Versioning: Consuming DLLs from a network path can also lead to versioning issues. This is because different users may have different versions of the DLLs installed on their machines, which can lead to compatibility issues and runtime errors.
  4. Maintenance: Maintaining and updating DLLs stored on a network path can be difficult. This is because it requires updating the DLLs on the network location and then ensuring that all users are using the updated version.
  5. Reliability: Consuming DLLs from a network path can also lead to reliability issues. This is because network connections can be unreliable, and if the network connection is lost, the application will not be able to access the DLLs and will not function properly.

In order to avoid these disadvantages, it is recommended to use local copies of the DLLs in the application’s directory or to use a package management system such as NuGet to manage the dependencies. This way, developers can ensure that the correct version of the DLLs are being used and that the application is running at optimal performance and security.

Creating A NuGet package

Creating a NuGet package from an existing C# project is a straightforward process. Here are the general steps you can follow:

  1. Install the NuGet Package Manager for Visual Studio. This can be done by going to the “Tools” menu in Visual Studio, then selecting “Extensions and Updates.” Search for the “NuGet Package Manager” and install it.
  2. Open the C# project that you want to create a NuGet package for in Visual Studio.
  3. In Solution Explorer, right-click on the project and select “Properties.” In the Properties window, go to the “Package” tab.
  4. Fill in the package metadata fields such as “ID,” “Title,” “Description,” etc.
  5. In the “Advanced” section, check the “Generate NuGet package on build” checkbox.
  6. In the “Build” menu, select “Build Solution” to build the project and create a NuGet package. The package will be created in the “bin” folder of the project, with the file name in the format of {ID}.{version}.nupkg.
  7. If you want to test the package locally before publishing it to a public NuGet repository, you can install the NuGet Package Explorer tool. Then open the package, and check if all the files you want to be included in the package are there.
  8. Now you can publish the package to a public NuGet repository, such as, or you can host it privately on your organization’s internal NuGet server.

Note: Make sure to follow the package guidelines before publishing it to the public repository.

By following these steps, you should be able to create a NuGet package from an existing C# project. This can be a great way to share your code with others and make it easy for them to use and integrate with their own projects.