C# Windows API Code Pack

3
我正在使用Visual Studio 2010 Express for C#,在安装代码包时遇到了问题。我从MSDN下载了源代码,但不知道该怎么办?
我打开了WindowsAPICodePack.sln并尝试构建项目,却得到以下错误:
"The type or namespace name 'ContentPropertyAttribute' could not be found (are you missing a using directive or an assembly reference?)"
以及
"The type name 'IComponentConnector' could not be found in the namespace 'System.Windows.Markup'. This type has been forwarded to assembly 'System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' Consider adding a reference to that assembly."
每个错误都出现了5-6次。
我还尝试构建示例,但也遇到了类似的错误。
如何将代码安装到Visual Studio中?
如何解决这些错误?
如何将代码包含到我的项目中?
只需要使用“using”命令,就能在我的项目中使用库吗?

我刚下载并在VS 2008中编译它,没有出现任何错误。当您在VS 2010中打开项目时是否收到任何错误/警告?看起来转换过程可能存在问题。 - ChrisF
这是一个不错的问题。 - IremadzeArchil19910311
2个回答

11
System.Xaml.dll添加为您项目的引用。

那个完美运作了!我怎么将 API 代码包含到我的项目中?只需要使用相同的 Xmal 引用吗? - user415715
第二个错误信息表明,ComponentConnector类型和ContentPropertyAttribute类型现在位于System.Xaml命名空间中,该命名空间在随代码包一起提供的新的System.Xaml.dll中。 - Robert Harvey
是的,一旦代码包被安装,你就可以将新的引用添加到自己的项目中。 - Robert Harvey

5
我刚刚下载了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。 - user415715
@Nat:它们应该是相同的 - 基本上一些项目会引用它们自己,因此它们将拥有自己的副本。对于“原始”的那个,请查看Core/bin/debug(或Core/bin/release)下的文件。 - Jon Skeet

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