我在C#应用程序中包含了这些库或命名空间,并将解决方案作为免费软件发布。我使用Visual C#Express 2008。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;
using System.Management;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Drawing.Text;
可以将应用程序作为免费软件提供,还是我在这里违反任何许可证?
答案 0 :(得分:7)
那些'使用'不是库,它们是.NET框架内置的命名空间。除了应用程序之外,您不必重新分发任何内容。
答案 1 :(得分:2)
我认为您不会违反任何内容,因为.NET Framework是免费的。但是,我建议在条款和条件文件中引用Microsoft。此外,我认为您不需要打包这些命名空间,因为它们已经在框架中,因为任何使用您的.NET程序的人都必须在其计算机上安装.NET。
如果您只是在程序中使用命名空间,则不必担心违规。它们的制作使程序员可以利用预定义的库而不是一遍又一遍地发明轮子。
答案 2 :(得分:1)
using
子句对代码的执行没有任何影响,它们仅在构建时使用,以帮助编译器从框架或代码所需的其他第三方程序集中找出正确的类。 / p>
您的代码所依赖的实际程序集(或您调用的库)是C#项目的References部分中列出的程序集。
正如@Jimmy所说,所有以System.
开头的程序集都是.Net框架的一部分,并在机器上安装框架时安装。您的代码不会重新分发这些程序集(如果是,您应该使用.Net的官方Microsoft可再发行程序包)。通过在您作为免费软件发布的应用程序中使用它们,您不会违反.Net框架的许可,因为它是最终用户和开发人员的免费许可。
答案 3 :(得分:0)
只要您只发布您的代码(无论是编译还是源代码形式),您都应该没问题。这些using
子句仅引用名称空间,它们不会被复制。对于项目文件中的程序集引用,它们也不会被复制。
当然,IANAL。
答案 4 :(得分:0)
您只是引用.NET框架命名空间,因此您不必担心任何事情。但是,检查来源总是一件好事:
http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx
以上链接是有关“重新分发.NET Framework”的信息。你可能没那么做,但即使你这样做,也没关系。