Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发布.NET Web后缺少DLL_C#_Asp.net_.net - Fatal编程技术网

C# 发布.NET Web后缺少DLL

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存在 因此,当我使用我的网站时,

我的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
    存在
因此,当我使用我的网站时,我发现明显的错误
无法加载文件或程序集'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版本可以更改吗?