【发布时间】:2012-06-03 22:58:23
【问题描述】:
我使用 c# 构建了一个导出两个自定义控件的类库。这个类库依赖于一些引用,只要我只添加控件 DLL 作为引用,这些引用就会在构建时被适当地复制到 bin\Debug 目录中(使用自定义控件的解决方案)。到目前为止,一切顺利。
如果我现在将该输出目录中的控件添加到工具箱中,并将其放置在设计器中的一个空窗体上,Visual Studio 就会崩溃。如果我像http://msdn.microsoft.com/en-us/library/5ytx0z24(VS.80).aspx 这样从自定义控件解决方案进行调试,我可以看到找不到引用的 DLL 之一的 IO 异常。
那么,有没有一种相当优雅的方式来放置依赖项,以便设计者 找到它们?我尝试在项目设置中摆弄参考路径,但无济于事。每次更改一些代码时,我宁愿避免设置系统范围的路径和安装/注册控件。
【问题讨论】:
-
你能告诉我哪个 dll 找不到吗?你明确添加的dll?
-
我的自定义控件引用的 DLL 之一找不到。这些 DLL 不会显式出现在引用列表中,但会在构建时复制到 bin 目录中,因为 Visual Studio 会检测到这些依赖项。即使将它们全部添加到项目引用中也无助于设计者找到它们。
-
添加到引用后,您是否在页面上明确调用它?
-
什么意思?哪一页?顺便说一句,如果我以编程方式添加控件,它在运行我的应用程序时可以正常工作。
-
如果我没有误解,当您在另一个命名空间中添加自定义控件/引用时,它不起作用,对吧?它有几个原因..1-)您在调试时同时使用混淆和代码优化选项 2-)您没有将 dll 引用设置为 copyLocale 选项 3-)您没有从引用列表中调用您的 dll 和/或在您要使用控件的形式中,明确 4-)您的 dll 或主项目的一个或多个部分未签名,而另一部分已签名..请检查这些并让我知道..顺便说一句,如果你不写你的错误或错误代码没有人可以帮助你作为一个点..
标签: c# .net winforms visual-studio-2010 custom-controls