Redistribution licensing of .NET classes [closed]


I have very little experience with licensing issues. Let's say I'm developing an application for .NET 2.0. Is it OK to use (and distribute) some .NET 3.5 DLL's with my application?

For example, could I just copy "System.Core.dll" in my setup to the client's machine? Or could I even just extract some class (e.g. using Reflector), put its source code in one of my projects, and use it as-is?

I'm not sure whether using Reflector to do this would be legally OK, but what difference would it make from downloading the same class from <a href="http://referencesource.microsoft.com/" rel="nofollow">Microsoft's Reference Source Server</a>?

In any case, I guess I am just <em>using</em> the class, which is what the framework actually provides. Is there some misconception with my ideas?


You definitely, <em>definitely</em> shouldn't start redistributing DLLs from one framework version to another.

For one thing it may well be illegal (even or possibly <em>especially</em> using Reflector to extract source) - but more importantly, you've then got a bit of code which was designed and written for one version of the framework running against another. Who knows if they've relied on a bugfix in mscorlib which was only implemented in .NET 3.5?

If you want LINQ to Objects in .NET 2.0, <a href="http://www.albahari.com/nutshell/linqbridge.aspx" rel="nofollow">LINQBridge</a> is your friend. For other issues, I would strongly recommend looking for a third party implementation or upgrading the version of the framework on the deployment machine.


I'm sure that you idea absolutely illegal for Microsoft license on .NET


Why would you need to distribute those dll's? You need an installation of the .Net framework on your client's machine anyway. That should include all relevant Microsoft dll's.

AFAIK a .Net ap can not be run on a machine without the framework, so you need it anyway.

<strong>Edit</strong> I just had a look at the <a href="http://msdn.microsoft.com/en-us/library/ms994344.aspx" rel="nofollow">.NET Framework 1.1 Redistributable EULA</a> (could not find the one for 3.0 in Google). It does not specificly allow what you are proposing, so my guess is that you may not do it.

p.s.: IANAL ;-)


  • How to recursively resolve symlinks without readlink or realpath?
  • DynamoDb “Query key condition not supported”
  • how to create a downloadable csv file in appengine
  • WCF hosting issues
  • Memory usage and time for execution for another process using C#?
  • dismiss Progress Dialog in another Activity … Android
  • Create registry key in 32-bit hive on x64 PC using Installshield 2012 LE - Avoid redirection
  • powershell Get-Counter -ComputerName parameter on Windows 7
  • Xamarin MonoAndroid Azure mobile service InsertAsync
  • Does Apportable support to build library binary (.a/.so)?
  • using System.Speech.Synthesis with Windows10 universal app (XAML-C#)
  • Private IP address in reserved subnet range
  • How To Customize ASP.NET Chart Databound To SqlDataSource
  • GAE: Way to get reference to an HttpSession from its ID?
  • Spring boot 2.0.0.M4 required a bean named 'entityManagerFactory' that could not be found
  • Java color detection
  • What is the purpose of TaskExecutor in spring?
  • Stop Bash Script if Hive Fails
  • zope_i18n_compile_mo_files doesn't work on a Zeo configuration
  • OOP Javascript - Is “get property” method necessary?
  • Do I need to reset a Perl hash index?
  • Spark fat jar to run multiple versions on YARN
  • Scrapy recursive link crawler
  • CSS Linear-gradient formatting issue accross different browsers
  • Master page gives error
  • Nant, Vault & Windows Integrated Authentication
  • Counter field in MS Access, how to generate?
  • Resize panoramic image to fixed size
  • VS2008 Enable C++ Exception with SEH
  • Volusion's generic SQL folder, functionality
  • Javascript + PHP Encryption with pidCrypt
  • Websockets service method fails during R startup
  • Why winpcap requires both .lib and .dll to run?
  • Acquiring multiple attributes from .xml file in c#
  • Why can't I rebase on to an ancestor of source changesets if on a different branch?
  • How do you join a server to an Active Directory (domain)?
  • coudnt use logback because of log4j
  • How to CLICK on IE download dialog box i.e.(Open, Save, Save As…)
  • How can I remove ASP.NET Designer.cs files?
  • java string with new operator and a literal