使用 MSBuild 任务 'Clean' 未将 SQLite Interop 文件复制到输出目录

SQLite Interop Files not copied to Output Directory with MSBuild task 'Clean'

我有一个引用 System.Data.SQLite.Core NuGet 包的项目。

我已经按照 中的建议将 "ContentSQLiteInteropFiles" 标签添加到我的 .csproj 中。

在 Visual Studio 内,我的本地计算机上的一切都按预期工作,但我的构建服务器一直没有复制 x86 和 x64 文件夹。

在我的构建服务器上,我将此参数添加到 MSBuild.exe:

/t:Clean;Restore;Build /p:Configuration=Release /p:OutputPath=..\bin\Release\

找到 this Visual Stuido Problem Report 后,我尝试使用在构建服务器上使用的相同参数在本地构建解决方案。事实证明,这个问题在我的本地机器上是可重现的。如果我删除解决方案中的所有 "obj" 目录,第一个构建不会复制 x86/x64,所有后续构建都会将互操作文件复制到预期的文件夹中。我的构建服务器配置为在每次构建之前清理工作副本,因此删除了导致错误的 obj 文件夹。

切换到

后,问题似乎与清理任务有某种关系

/t:Restore;Rebuild /p:Configuration=Release /p:OutputPath=..\bin\Release\

Build 将 x86 和 x64 目录按预期在第一次构建时复制到我的输出目录。