我有一个VS解决方案:
为了让VS复制每个客户端所需的所有DLL,当然我知道我可以手动设置构建后的操作。但是我发现只需添加项目“引用”就可以自动运行,至少在一种语言中。当.NET客户端依赖于纯粹的本机C ++库(通过包装器)时,我无法使其工作。
如果我“添加引用”项目1.到项目2.VS负责复制DLL而不需要设置任何后构建操作。另外通过添加3.作为参考4.然而4.当然也需要1.但是VS不会让我添加一个纯粹的原生C ++项目作为.NET项目的参考 - 我认为这是原因,或者在至少在这种情况下,它抱怨“无法添加引用。”
也许解决方案可能是将1.和3.组合成一个混合DLL,但这对我们来说是不可接受的。即使这个DLL可以与本机C ++客户端兼容,我也需要将包装器分开,因为C#的使用甚至不被我公司的标准认可,.NET客户端只是一个快速的原型。
困难似乎源于VS在C ++和C#中的文件夹不兼容的工作方式。当我调试C ++项目2时,它直接从解决方案文件夹中的文件夹而不是项目2的文件夹运行。但是当我调试C#项目4.时,它从项目4的文件夹中的文件夹运行。由于引用而总是在项目3中找到迄今为止的DLL,但不是项目1中的DLL。这也是需要的。如果从解决方案文件夹调试了C#项目,那么确实会从项目1中找到最新的DLL,但不是这样。
除了自定义的构建后操作之外,VS提供的任何解决方案?提前谢谢。