2009-11-29 82 views
3

我们必须安装Windows SDK和.NET Framework。为什么我们需要SDK如果我们有框架?为什么我们需要SDK与.NET Framework?

编辑:

这不只是为.NET开发的情况。另外,如果您想开发Silverlight应用程序,则必须安装额外的sdk。为什么?

回答

3

基本上.NET框架包含了基本开发所需的大部分工具 - 编译器,用于项目的msbuild引擎。但是,一些特定的任务 - 可靠地链接,COM和Web服务的代码生成,CIL分析等 - 需要额外的一套工具,这些工具包含在Windows SDK中。

恕我直言,.NET框架分布已经很大了,如果它由于这些工具而增长的话,它不会很好。

+0

@elder_george:谢谢你的回答。我们不必分发框架库,并期望它在部署机器上。这是否意味着如果我们使用SDK中的某些东西,我们也必须分发它(因为我们不希望最终用户在他/她的机器上安装Windows sdk)? – Sandbox 2009-11-29 07:13:20

+0

通常情况下,你不需要它。你通常引用的所有库都属于框架,所以不应该有任何依赖。 Windows SDK用于编译,而不是用于运行时(另外,我怀疑某些部分的重新分配是被禁止的)。我发现它唯一有用的工具是'gacutil',但我可以没有它。 – 2009-11-29 07:33:09

0

.NET框架仅涵盖托管应用程序,并且是Windows API的子集。 Windows SDK(或其今天称之为的任何其他API)是一组更大的API,其中包含尚未被托管代码封装的API。

+0

@Andrew Keith:当我使用VS2008进行编译时,出现了一些lc.exe问题(请google.com知道问题),IDE指示我设置指向sdk中某个位置的lc.exe路径。因此我必须安装SDK。 – Sandbox 2009-11-29 07:20:32

0

当你安装Visual Studio时,你是否在谈论Windows SDK与.NET框架一起安装?

如果是,这是因为Windows SDK(非常需要)用于非托管开发。您也可以使用mt.exe这样的工具将外部的清单嵌入exes & dll(对于托管的应用程序也是如此),并且在C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \