【问题标题】:C# Windows API Code PackC# Windows API 代码包
【发布时间】:2010-08-29 17:33:46
【问题描述】:

我正在使用 Visual Studio 2010 Express for C#,但在安装代码包时遇到问题。 我从 MSDN 下载了源代码,不知道如何处理它? 我打开了 WindowsAPICodePack.sln 并尝试构建项目并得到:

错误 16 找不到类型或命名空间名称“ContentPropertyAttribute”(您是否缺少 using 指令或程序集引用?) C:\Users\Joe\Downloads\WindowsAPICodePack\Shell\CommonFileDialogs\CommonFileDialogRadioButtonList.cs 13 6壳牌

错误 13 在命名空间“System.Windows.Markup”中找不到类型名称“IComponentConnector”。此类型已转发到程序集 'System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 考虑添加对该程序集的引用。 C:\Users\Joe\Downloads\WindowsAPICodePack\Shell\obj\Debug\Controls\CommandLinkWPF.g.cs 42 99 Shell

每次约 5-6 次。

我也尝试构建示例,但遇到了类似的错误。

如何将代码安装到 Visual Studio 中?

如何修复错误?

如何将代码包含到我的项目中?

我能否仅通过“使用”命令使库在我的项目中可用?

【问题讨论】:

  • 我刚刚下载了这个并在 VS 2008 中编译它没有错误。在 VS 2010 中打开项目时,您是否收到任何错误/警告?看来转换过程可能有问题。
  • 这是个好问题

标签: c# winapi compiler-errors


【解决方案1】:

在您的项目中添加对System.Xaml.dll 的引用。

【讨论】:

  • 效果很好!如何将 API 代码包含到我的项目之一中?只使用相同的 Xmal 引用?
  • 第二条错误消息表明ComponentConnector 类型和ContentPropertyAttribute 类型现在驻留在代码包随附的新System.Xaml.dll 中的System.Xaml 命名空间中。跨度>
  • 所以是的,一旦安装了代码包,您就可以将新的引用添加到您自己的项目中。
【解决方案2】:

我刚刚下载了 1.0.1 版,在 Visual Studio 2010 Professional 中打开它并构建它完全没有问题。

检查您的项目现在所针对的 .NET 版本。 Express 版可能会自动“升级”项目以针对 .NET 4,而我的项目一直针对 .NET 3.5。

要检查的另一件事 - 您是否安装了 .NET 3.5?我希望如此,但值得检查。

构建项目后,您需要做两件事来使用它们:

  • 添加对已构建程序集的引用(例如 Microsoft.WindowsAPICodePack.dll)
  • using 指令添加到适当的命名空间。 (这实际上是可选的,但否则您必须为库中的任何类型使用完全限定名称,这通常不是您想要的。)

【讨论】:

  • 正确的 Microsoft.WindowsAPICodePack.dll 到哪里去了?我正在查看文档并意识到我没有我应该拥有的所有命名空间。我查看了我的项目文件夹,在 WindowsAPICodePack 文件夹的不同子文件夹中有 3-4 个不同的 Microsoft.WindowsAPICodePack.dll
  • @Nat:它们应该是相同的——基本上一些项目自己引用它,所以他们会有自己的副本。对于“原始”,只需在 Core/bin/debug(或 Core/bin/release)下查看
猜你喜欢
  • 1970-01-01
  • 2014-04-28
  • 2015-03-21
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 2014-11-27
相关资源
最近更新 更多