【发布时间】:2020-12-15 09:02:14
【问题描述】:
我只是想通过使用 MSBuild 来构建没有 Visual Studio 的应用程序。
使用
- Visual Studio 构建工具 2017。
- 点网框架 4.6.1 SDK
- MSBuild 自动检测:使用 msbuild 版本“15.9.21.664”
完整的错误信息:
错误 CS0012:“HttpResponseMessage”类型在未引用的程序集中定义。您必须添加对程序集 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 的引用。
知道为什么吗?谢谢...
更新
这是 Visual Studio 的 dll 路径
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll
这没有Visual Studio,只有MSBuild
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\NuGet\Plugins\CredentialProvider.Microsoft
文件路径不同。我该如何解决这个问题?
【问题讨论】:
-
嗨 Loran,有关于这个问题的最新消息吗?
-
@PerryQian-MSFT,您的回答让我很明白,我发现版本不同,参考位置也不同。所以我只是让它引用相同的位置并再次构建。现在它可以工作了。但我仍然需要检查。感谢您的详细解答。
-
此外,您可以将
System.Net.Http.dll的hintpath强设置为特定路径。并使用它来确保他们使用相同的路径或相似的路径。另外,感谢您分享您的解决方案,并很高兴知道问题消失了。我已将您的解决方案添加到我的答案和一些细节中。你可以检查一下。看我的update 1:) 如果有帮助,你可以考虑accept it。
标签: c# visual-studio msbuild