在Visual Studio中发布时,bin文件夹中缺少XML文件



我刚刚从github签出了一个.NET 4.5.2 MVC项目。我可以在本地构建和运行它。但是,当在Visual Studio试图复制到objReleasePackagePackageTmpbinbin文件夹中找不到一堆XML时,发布将失败。错误消息包括Could not find file binMicrosoft.Owin.Security.Cookies.xml。这些文件在解决方案资源管理器中用黄色警告符号标记,手动右键单击->从项目中排除可以解决问题。但是,在下一次git同步时,它们将再次包含在内。它们都有库的名称,例如bin文件夹中有Newtonsoft.Json.dll,Visual Studio缺少Newtonsoft.Json.xml。它们通常是自动创建的吗?是否应该以某种方式将它们排除在部署之外?

Newtonsoft.Json.dll属于Newtonsoft nuget包这些。三角形显示未安装所需的nuget包
现在,当您重新构建项目时,这些软件包应该自行安装。如果您使用的是旧版本的VS,那么您需要右键单击解决方案->手动选择Restore Nuget Pakage
构建的工作原理是git提交的代码必须同时同步已安装的系统构建包。但在发布时,它试图重建并发现本地回购中缺少nuget包
因此,与其排除谷歌并添加引用的nuget包
与OP类似,您需要安装NewtonsoftMicrosoft.Owin.Security.Cookies。包裹。添加后,如果旧版本的黄色三角形引用仍然显示,则可以删除它们。

最新更新