2012-02-03 108 views
0

我是C#编程新手,我在创建dll时遇到问题。Visual Studio 2010 dll创建错误

我打开了一个类库项目,并在我的类中写入了公共静态方法。点击调试并将dll和pdb文件(在bin/debug/..下)复制到我的WPF应用程序项目中。

我没有得到任何引用问题还编辑器显示我的方法通常情况下,还当我使用他们来说,这让我没有错误或警告...

然而,当我运行我的程序,我看到我的调用dll方法的方法不起作用。另外,调试模式也跳转我的方法,所以我不能跟踪代码。

我在哪里做错了?有没有其他的方式来创建DLL或我错过了这里的一个诡计? 谢谢。

+0

你说的是什么意思的调用方法不起作用?调试模式会跳转您的方法,因为调试器无法找到源。将dll解决方案附加到同一个项目,并引用dll的输出,这应该可以解决这个问题。' – 2012-02-03 17:06:56

+0

我建议:不要复制你的DLL和pdb文件。在您的WPF项目中,添加对库DLL的引用,并且在生成WPF项目时,它应该自动在您的输出目录中创建DLL和pdb文件。 – 2012-02-03 17:11:13

回答

4

而不是复制DLL文件到您的WPF应用程序的bin目录下,你要么一个项目引用您的类库从您的WPF应用程序添加或添加一个引用类的输出目录图书馆。否则,构建可能会复制您手动复制的文件。基本上,你应该把箱子里的东西当作“由Visual Studio控制”IMO - 不要手动复制任何东西。如果您使用项目引用而不是引用特定文件,它会有所帮助 - 这样每个构建都会为其依赖关系获取适当的配置。

+0

谢谢你的回答。当我点击添加项目引用时,我得到空列表。我应该在一个解决方案中合并这两个项目吗? 如果我应该,有一个问题。 WPF应用程序是由四个人写的,包括我和我的代码在DLL中只能由我看到。我们正在使用svn并提交整个解决方案。我不知道如何隐藏代码,如果我没有编译我的代码,只是添加引用 – 2012-02-03 17:37:33

+0

@ErcanÖzdemir:不清楚,他们不在同一个解决方案。你为什么要隐藏你的同事的源代码?如果你使用svn,他们不能看到你的代码吗?如果你真的需要用不同的解决方案,我建议你有一个“lib”目录或者你的库复制到的地方,然后添加一个对*的引用*。 – 2012-02-03 17:48:58

+0

我们的一个小组成员在公司之外,因此需要隐藏一些方法(包括解密,认证等)。创建一个lib目录并复制它是我的第一次尝试。我在我的WPF项目中引用了dll,但即使没有出现错误,我的方法也无法正常工作 – 2012-02-04 11:17:41