我正在为我的主项目在C#中编写一个自定义Control类.
有2个项目,一个用于我的Control,一个用于我的主项目.这两个项目在同一个解决方案中.我将主项目的引用添加到Control项目中.我注意到,第一次将Control从工具面板拖到我的主winform上后,在C:\ Users\XXX\AppData\Local\Microsoft\VisualStudio\9.0\ProjectAssemblies中生成了一个程序集文件夹,以及文件夹名称就像" jlebh-py01 ".
第一个构建总是正常,但在重建我的Control类或整个解决方案后,将在C:\ Users\XXX\AppData\Local\Microsoft\VisualStudio\9.0\ProjectAssemblies生成一个新的程序集文件夹,然后出现问题,我的控件无法表现良好,因为Visual Studio说这两种类型"来自不同的位置".错误消息如下:
[A] MyControl.TypeXXX无法转换为[B] MyControl.TypeXXX.从assemblyXXX在位置'C:\ Users\XXX\AppData\Local\Microsoft\VisualStudio\9.0\ProjectAssemblies\jlebh-py01\MyControl.dll'中键入A orginates来自assemblyXXX的位置'C:\ Users\XXX \应用程序数据\本地\微软\ VisualStudio的\ 9.0\ProjectAssemblies\ue4i-z3j01\MyControl.dll"
如果我直接引用Control DLL而不是通过项目引用,或者在主项目中使用我的Control之后从不重建Control项目,那么事情似乎没问题.
有谁知道为什么? 这是在同一解决方案中开发控件和主项目的正确方法吗?
根据您的解释,您的解决方案中的主要项目似乎没有更新对您拥有的控制库的引用。我已经在 ASP.NET 中工作了至少几年,并且在引用的程序集方面也遇到了类似的问题,但总有一个非常简单的修复方法 -重建主项目。这应该清理它,然后运行新的构建。
您可以尝试的另一件事是将可变程序集版本添加到您的控件中。在项目属性、程序集信息中,尝试将版本号设置为 1.0。* 这将强制最后两个版本号基于日期和当天的时间,并且每次重建控件时 - 它都会有不同的版本号版本。只要主项目保持版本更新——这应该是——就不应该有任何问题。
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |