我正在使用Sofa V2.5的示例,这是一个WPF Docking框架。
这些是VS2010,.NET 4.0。在一个项目中,有一个对“Microsoft.Windows.Shell”程序集的引用,该程序集尚未解析。
当我打开Add Reference并查找.NET程序集时,我看不到Microsoft.Windows.Shell。为什么不?我在Windows 7上运行VS2010。它怎么会丢失?如果它没有丢失,为什么VS2010不能看到它?
答案 0 :(得分:21)
现在有一个NuGet包:
Install-Package Microsoft.Windows.Shell
答案 1 :(得分:6)
它可能包括在内:Ribbon (WPF)
答案 2 :(得分:1)
从NuGet获取它:
Install-Package Microsoft.Windows.Shell -Version 3.0.1
请注意添加了-Version 3.0.1
,如果没有添加,将会收到错误消息。
答案 3 :(得分:1)
在Microsoft Visual Studio中 转到
工具>> NuGet软件包管理器>>软件包管理器控制台
在“程序包管理器控制台”窗口中输入
Install-Package Microsoft.Windows.Shell -Version 3.0.1
答案 4 :(得分:1)
软件包所有者(Gareth Evans)决定将其取消列出,但仍然可用。
我不建议您使用它。
该版本已过时,可能包含某种错误或漏洞。
https://www.nuget.org/packages/Microsoft.Windows.Shell/3.0.1
就目前而言,可接受的答案仍然是有效的选择。
但是,即使现在有链接退出工作,我也不会感到惊讶。
.msi安装程序文件会将内容放入%ProgramFiles%\Microsoft Ribbon for WPF\
Microsoft.Windows.Shell.dll v3.5.41019.1将位于WindowChrome目录中。
旁注:
不要浪费时间尝试将Microsoft Ribbon用于WPF。噩梦
还有更好的选择,例如https://github.com/fluentribbon/Fluent.Ribbon此外,我发现它告诉我们Fluent Ribbon使用https://github.com/ControlzEx/ControlzEx代替Microsoft.Windows.Shell(ControlzEx包括Shell函数的源代码)
如果接受的答案的链接无效,则可以选择使用“多语言应用程序工具包”。
https://docs.microsoft.com/en-us/windows/uwp/design/globalizing/use-mat
在撰写本文时,它包含相同的版本(3.5.41019.1),并且似乎将来会支持该版本。 (支持VS2019,具有翻译服务和依赖它的客户,推荐用于UWP应用本地化,等等。)
答案 5 :(得分:-1)
System.Windows.Shell
与Microsoft.Windows.Shell
相同。 System.Windows.Shell
中包含PresentationFramework.dll
。
因此,在.xaml文件中,直接使用命名空间中的类。在您的代码隐藏中使用命名空间中的类包括使用System.Windows.Shell;'。
扩展: WindowsChrome自.net4.5起可用 https://msdn.microsoft.com/en-us/library/system.windows.shell.windowchrome(v=vs.110).aspx
答案 6 :(得分:-12)
未安装。安装它,VS会看到它。 Google会帮助您找到它。