如何在Visual Studio 2010中构建静态链接的程序?

时间:2010-09-01 05:08:42

标签: visual-studio-2010

我需要对我的程序进行静态发布以交给我的教授,但每当我编译程序然后在另一台计算机上运行时,它就会告诉我它找不到dll所以显然我正在做某事错误。我需要做什么才能进行静态构建?

3 个答案:

答案 0 :(得分:0)

将项目设置更改为静态构建后,选择“全部构建”(或“全部重建”)。如果这不起作用,请选择“删除所有中间文件”并构建。

答案 1 :(得分:0)

加载.dll依赖项的问题通常源于两个问题之一:

  • GAC中缺少程序集。
  • 应用程序目录中缺少程序集。

在这种情况下,我打赌你可以通过确保以下内容来解决问题:

  • 向教授提供作为包复制到输出文件夹的所有程序集。
  • 确保您的教授安装了正确的依赖项。例如,如果您的应用程序是.NET,请确保您的教授已安装正确的.NET框架(如果是这种情况,可能是.NET 4)。

答案 2 :(得分:0)

如果您正在编译C / C ++程序,请查看编译器安装目录中的vcredist exe可执行文件。此可再发行组件包含运行应用程序所需的side-by-side assemblies。它特定于您使用的编译器版本。进行设置或部署时,必须在目标计算机上安装它。另外不要忘记编译“发布”。如果没有安装调试dll,那么“debug”将无法在其他机器上运行,这些调试dll不属于vcredist。

这是微软网站上vcredist的链接。您必须使用与您正在使用的编译器完全匹配的那个。更好的方法是从编译器的安装目录中获取一个,以确保它匹配。