我有一个使用NuGet包LZ4.NET的解决方案。
该软件包将dll存储在content文件夹中,该文件夹将被复制到目标项目根目录。
已经检查了源代码控制(Git),但项目中的dll被排除在外。
目前已签入packages文件夹,其中包含lib和content目录以及所有必需的dll文件。
但是在克隆新的存储库时,构建项目不会将内容复制到项目中,并且visual studio会出现dll丢失的错误(因为它们已包含在项目中但被排除在源代码管理之外)。 / p>
每次构建内容时,如何让nuget复制内容? 或者我应该将dll签入项目吗?
更新
我已启用NuGet包恢复。但似乎by design Nuget does not support restoring of content files。如果是这种情况,似乎我必须检查项目中的dll。
但是dll是由.Net Framework版本组织的,即net35,net40,net45。如果我检查dll,那么它将被“锁定”到我签入的.Net框架版本,而不是依靠Nuget为我选择。
答案 0 :(得分:1)
当一个软件包安装到项目中时,NuGet实际上执行了这些操作,
恢复包时,只执行前两个步骤。这就是为什么项目目录中的DLL不会被“恢复”的原因。
现在唯一的解决方案是检入项目目录中的DLL。