我添加了一个新的软件包,需要Newtonsoft.Json
版本> = 9.0.1,而到目前为止,我有8.0.2。
该解决方案在VS上构建并运行良好。但是,当我推送分支时,Azure上的持续部署构建失败。
无法找到类型或命名空间名称“Newtonsoft”
装配加载或解决时没有任何错误。
但是,如果我从Visual Studio中在Azure上发布它就可以了。
我的CD版本有什么问题,如何重新编写?
该解决方案只有一个项目。
答案 0 :(得分:0)
确保所有项目中都有相同的Newtonsoft.Json版本。
检查所有项目中配置文件中的Newtonsoft.Json assemblyBinding是否正确
答案 1 :(得分:0)
关于卸载\重新安装Newtonsoft
包以及检查assemblyBindings等所有SOF问题都导致我的方向错误。
我的构建服务器(Azure Continuous Deployment)将软件包加载到解决方案根目录下名为packages的文件夹中。但是由于我的机器上有很多解决方案,我在其他地方有一个包文件夹。为了使构建服务器正常工作,我在解决方案的根目录下创建了一个联结包文件夹,链接到我的机器的正确包文件夹。我忘记的是,当我添加新包时,Visual Studio会放置正确的包文件夹而不是连接点的路径。
因此,为了修复我的服务器构建,我只需要编辑我的csproj
文件,将新的(和更新的Newtonsoft
}包重定向到联结文件夹。