C# 缺少命名空间 Windows。

4

Visual Studio 2015 Community 无法解决

using Windows.Networking.Connectivity;     

我尝试了不同类型的c#项目以及不同版本的.Net,包括3.5-4.5。


你是否拥有 Windows.Networking.dllWindows.Networking.Connectivity.dll 文件?请查看以下链接:http://www.solvusoft.com/en/files/missing-not-found-error/dll/windows/microsoft/windows-8-consumer-preview-iso-images/windows-networking-connectivity-dll/ - Ian
你正在创建什么类型的应用程序?Winforms?WPF?ASP.NET?UWP? - Nasreddine
您可能需要添加引用。 - dtlvd
C#控制台,C# Windows服务,我尝试在引用和NuGet中搜索,我正在使用Win10。 - user2925656
这不是你可以在控制台或服务项目中使用的命名空间。虽然这并非完全不可能,但你应该使用System.Net的概率更大。 - Hans Passant
虽然 System.Net 仅提供网络可用性功能,而不是互联网连接功能,所以我被迫使用 ping 等愚蠢的方法,或者我错了,还有其他解决方案吗? - user2925656
3个回答

3

谢谢您,我没有意识到这一点。我只是想避免使用硬编码ping等工具来获取有关互联网连接的信息。 - user2925656

2
我知道这个问题很老,但我想帮助那些和我有同样问题的人。与Nasreddine的答案相反,在非UWP平台上可以获取Windows命名空间。
要获取Windows命名空间,首先必须在您正在使用的任何IDE中卸载项目。然后,在文本编辑器中打开您的.csproj文件。您应该在文件中看到一个开放和关闭的,在其中粘贴以下行:8.0保存文件,然后重新加载您的IDE中的项目。右键单击引用,然后单击添加引用。应该会出现一个新的Windows选项卡,里面是Core。(如果没有执行前面的步骤,则不会出现此选项。)您可能会在其中有一个名为Windows的引用选项,如果有,请勾选该框,现在您可以使用Windows命名空间了;如果没有,请完全关闭您的IDE,并从https:// developer.microsoft.com/en-us/windows/downloads/sdk-archive/ 安装Windows 8 SDK。完成后,重新启动IDE,您应该会看到Windows命名空间。如果由于某种原因仍然看不到命名空间,请单击浏览,然后导航到C:\ Program Files(x86)\ Windows Kits \ 8.0 \ References \ CommonConfiguration \ Neutral \并选择Windows.winmd。
附加信息:https://software.intel.com/content/www/us/en/develop/articles/using-winrt-apis-from-desktop-applications.html

1

仅在2021年更新,您可以使用Microsoft.Windows.SDK.Contracts nuget包访问此API(以及其他API)。 在.NET 5中仍会遇到问题,但.Net Core 3.1可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接