.NET 4.0 - Microsoft.Windows.Shell - 它在哪里?

5
我正在尝试使用Sofa V2.5的示例,这是一个WPF Docking框架。
这些示例使用VS2010和.NET 4.0。在一个项目中,有一个对“Microsoft.Windows.Shell”程序集的引用,但该引用未解析。
当我打开添加引用并查找.NET程序集时,我没有看到Microsoft.Windows.Shell。为什么?我在Windows 7上运行VS2010。它怎么会丢失?如果它没有丢失,为什么VS2010无法看到它?

我还是不明白如何安装这个? - Ristogod
6个回答

23

现在它有一个NuGet包:

Install-Package Microsoft.Windows.Shell

2020年6月更新: 根据@yaron在评论中提供的更新,此软件包已不再提供。正如NuGet页面所述:

所有者已撤下此软件包。这可能意味着该软件包已被弃用或不应再使用。


谢谢您!不过,在运行后,我该如何让它显示在“添加引用”下的“扩展”中呢? - Brady
1
安装程序包:无法找到“Microsoft.Windows.Shell”程序包。 - Scott Solmer

7

1
现在,Ribbon已经包括在BCL中了,即System.Windows.Controls.Ribbon。不再需要使用RibbonControlLibrary了。 - OliK
这个问题特别针对.NET 4.0。对于受限于旧框架的开发人员来说,这并不有帮助。 - Scott Solmer

4
从 NuGet 获取它:
Install-Package Microsoft.Windows.Shell -Version 3.0.1

请注意添加-Version 3.0.1,如果没有此添加,将收到错误提示。

3

该软件包的所有者(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 for WPF。这是噩梦。
有更好的选择,例如https://github.com/fluentribbon/Fluent.Ribbon
另外,我发现值得一提的是,Fluent Ribbon使用https://github.com/ControlzEx/ControlzEx代替Microsoft.Windows.Shell(ControlzEx包含外壳函数源代码)。
如果被接受的答案链接失效,则可选择使用多语言应用程序工具包(Multilingual App Toolkit)。https://learn.microsoft.com/en-us/windows/uwp/design/globalizing/use-mat 在撰写本文时,它包括相同版本(3.5.41019.1),看起来将在未来得到支持。(支持VS2019、提供翻译服务和依赖于它的客户,推荐用于UWP应用程序本地化等)

2

xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework" - Hans

2
在Microsoft Visual Studio中, 前往
工具>>NuGet程序包管理器>>程序包管理器控制台
在程序包管理器控制台窗口中输入以下内容
Install-Package Microsoft.Windows.Shell -Version 3.0.1

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