C# 发布.NET Web后缺少DLL
我的web项目使用C# 发布.NET Web后缺少DLL,c#,asp.net,.net,C#,Asp.net,.net,我的web项目使用.netframework4.7.2,并使用一些参考资料,如 System.IO System.Net System.Net.Http System.Net.Http.Formatting 我的项目在本地运行得很好。 但是,当我在目标目录(用于联机)上发布web项目并查看它在/bin/中包含的内容时: System.IO缺失 System.Net存在 缺少System.Net.Http System.Net.Http.Formatting存在 因此,当我使用我的网站时,
.netframework4.7.2
,并使用一些参考资料,如
System.IO
System.Net
System.Net.Http
System.Net.Http.Formatting
/bin/
中包含的内容时:
缺失System.IO
存在System.Net
- 缺少
System.Net.Http
存在System.Net.Http.Formatting
无法加载文件或程序集'System.Net.Http,Version=4.2.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。
所有引用在属性中都有Copy Local=True
,但某些dll总是被忽略。如果将DLL从本地目录复制到目标目录,则在“/”应用程序中会出现错误服务器错误。无法加载引用程序集以执行。异常详细信息:System.BadImageFormatException:无法加载引用程序集以执行。
但是,删除/重建解决方案或添加编译选项解决方案对我不起作用
我需要做什么才能将这些丢失的dll放到目标文件夹中?转到VS上的解决方案资源管理器,打开引用树,右键单击库(dll),然后选择菜单上的属性。在属性框中,复制本地应为真检查您的nuget清单是吗System.IO
和System.Net.Http
安装包是这一个项目还是单独的项目?如果假设你有一个web应用程序,那么对于数据、模型等单独的项目,使用双项目的单一解决方案之间可能存在参考差异。一个dll的.NET Web+源代码(不是使用System.NET.Http
,而是使用System.IO
)我们最近遇到了一个类似的问题,这是因为dll的版本不同于一个项目,而另一个项目被引用。如原始帖子所示,已经完成了。所有引用都有Copy Local=True
,但它不起作用。System.IO
和System.Net.Http
软件包随最后一个版本一起安装。您的DLL中有一个未更新,这会导致问题。请确保所有库都已更新。不兼容的库在调试模式下正常工作,但在发布模式下出现错误是很常见的。当您发布时,通常处于发布模式。请参阅此链接:还要确保这些库与您在本地使用的.net版本.Works兼容。发布后.NET Framework版本可以更改吗?