我正在构建一个基于示例应用程序的应用程序,
在 .NET 2 上用 C# 编写,并基于 VS2008 构建。此应用程序主要是 COM 应用程序的包装器。
但是我在 .NET 3.5 中编译它。
示例应用程序的 bin\debug
中包含以下文件:
appName.vshost.exe
appName.vshost.exe.manifest
我注意到我可以删除文件并且 VS 重新构建 vshost.exe,并且 vshost.manifest 文件显示的修改日期与删除的文件相同,就好像 VS 从某处复制进来一样。
我的问题是,我应该把这些文件放在我的 SVN 代码库中吗?
最佳答案
您列出的这两个文件实现了 Visual Studio“托管过程”。它是 CLR 的托管版本,旨在改善调试体验。它处理了一些安全问题,最明显的副作用是它将 GUI 应用程序中使用 Console.WriteLine() 写入的输出重定向到输出窗口。
这些文件不是您项目的一部分,并且在您使用 Build + Clean 时不会被删除。实际上,您无法删除.exe文件,当您在Visual Studio中打开项目时,该文件始终在运行。您可以使用项目 + 属性、调试、向下滚动、“启用 Visual Studio 托管进程”来禁用托管进程功能。没有令人信服的理由这样做。
无需检入这些,Visual Studio 会在您检入项目并将其加载到 VS 时重新生成它们。通常,您永远不需要从 bin 子目录中检入任何内容,它的内容总是通过构建您的项目重新创建。
关于c# - 我的 SVN 代码库中是否需要 bin\debug\appName.vshost.exe 和 appName.vshost.manifest?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2736310/