Winforms Designer,带VC的C#项目++;参考资料、工作目录问题

Winforms Designer,带VC的C#项目++;参考资料、工作目录问题,c#,winforms,visual-c++,projects-and-solutions,windows-forms-designer,C#,Winforms,Visual C++,Projects And Solutions,Windows Forms Designer,我正在处理一个约100个项目的解决方案(混合C#Winforms、VC++Winforms和非托管C) 我有一个名为“DatafiltersControls”(C#)的项目,它引用了一个名为“DatafiltersTypes”(VC++)的项目,下面显示的是特定引用的xml条目 <ProjectReference Include="..\DatafiltersTypes\DatafiltersTypes.vcxproj"> <Project>{360679FF-815

我正在处理一个约100个项目的解决方案(混合C#Winforms、VC++Winforms和非托管C)

我有一个名为“DatafiltersControls”(C#)的项目,它引用了一个名为“DatafiltersTypes”(VC++)的项目,下面显示的是特定引用的xml条目

<ProjectReference Include="..\DatafiltersTypes\DatafiltersTypes.vcxproj">
  <Project>{360679FF-815C-4B39-8E5A-62C0D2A6DB31}</Project>
  <Name>DatafiltersTypes</Name>
  <Private>False</Private>
</ProjectReference>

{360679FF-815C-4B39-8E5A-62C0D2A6DB31}
数据过滤器类型
假的
现在,问题是:“设计者只会在某些情况下加载我的控件”。在做了大量研究之后,我将其分解为我的开发环境和打开解决方案的方式。我的构建环境是在dos窗口中创建的,该窗口将替换映射到目录的新驱动器(P:)

创建我的目录后:

  • 如果我的提示符是“p:\common”作为当前工作目录,并键入common.sln,则所有设计器都可以正常工作。这是我最初设置引用时的当前工作目录
  • 如果我从资源管理器双击common.sln,然后尝试打开一个“复杂”表单,我会遇到以下错误:无法加载文件或程序集“DatafiltersTypes,Version=1.0.1.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件
  • 如果我的提示符中有“p:\”或任何其他目录作为CWD,然后调用“p:\common\common.sln”,则设计器会在复杂的表单上中断(同上)
我认为具体的问题在于:我的参考文献是在VisualStudio打开时基于CWD添加的。从这一点开始,设计师打破了任何“复杂”的形式,因为搜索路径是基于cwd的

如果需要,我可以定义“复杂”,我有确切的情况。我的理想解决方案是允许我的引用基于驱动器的根目录(这是我公司的开发人员已经有的限制)。例如,而不是

....\build\output\datafilterstypes.dll,我希望\build\output\datafilterstypes.dll作为我的引用

<ProjectReference Include="..\DatafiltersTypes\DatafiltersTypes.vcxproj">
  <Project>{360679FF-815C-4B39-8E5A-62C0D2A6DB31}</Project>
  <Name>DatafiltersTypes</Name>
  <Private>False</Private>
</ProjectReference>
需要注意的是:无论加载devenv时我的工作目录是什么,一切都可以正常编译,这只是设计器。

提前谢谢


<>编辑:添加,我有相同的问题,如果

问题是设计者不能加载不纯净的C++ DLL。将直接或间接地将C++ DLL转换为纯的项目。

< P>问题是设计者不能加载不纯净的C++ DLL。将直接或间接地将C++ DLL转换为纯的任何项目。