我有一个在不同机器上开发的 C# 控制台应用程序。在这个应用程序中,我们选择使用 Fody,因为我们发现它是唯一可以将所有外部资源依赖项(任何额外的类库)嵌入到我们应用程序的单个可执行文件中的东西。
环境细节:
- Visual Studio 版本:16.9.2(专业版 2019)
- 类型:控制台应用程序
- 框架:.Net 框架 4.5
- 福迪版本:4.2.1
- Costura.Fody 版本:3.3.3
虽然此应用程序在一台机器上运行没有任何问题,但它开始给另一台机器带来麻烦。我们需要在两台机器上完成这项工作,因为我们需要完成大量工作。我们已经比较了这两种环境,但无法找出任何区别。
问题的行为如下,
当我第一次克隆和构建解决方案时,它会走上一条永无止境的道路,除了结束视觉工作室的任务外,我别无选择。
而且我观察到 MSBUILD 被某些东西占用了,我无法结束它的任务
第二次启动解决方案并构建它时,我收到以下错误。
Severity Code Description Project File Line Suppression State Error CS2012 Cannot open '<<obj folder path>>\Debug\Binary.exe' for writing -- 'The process cannot access the file '<<obj folder path>>\Debug\Binary.exe' because it is being used by another process.' Binary.exe <<project path>>\CSC 1 Active
我必须重新启动机器才能删除 obj 文件夹。并且一旦将其删除,上述行为就会重复。
我在线程下面发现了一个类似的问题,
使用 PropertyChanged.Fody 构建应用程序时出错
但是,根据以下问题,此功能似乎在最新的 Visual Studio 中已过时。
在 Visual Studio Community 2017 上禁用 Visual Studio 托管进程
此外,我尝试按照以下线程中的说明设置环境变量,因为我认为它有些相关。但是,它也不起作用。
https://github.com/Fody/Fody/issues/537
我必须在我的解决方案中使用这些 Nuget 包。如果有人可以分享一些想法来解决这个问题,非常感谢