繁体   English   中英

项目引用另一个项目的obj文件夹中的dll-有时有时不编译

[英]Project refers to dlls in another project's obj folder - compiles sometimes other times not

我在Visual Studio中有一个大型的主要C#解决方案(其中约有24个项目),并且(至少)两个项目(.csproj文件)在其obj文件夹中都引用了其他项目的(C ++).dll文件。 有时会编译,有时则不会。 编译时,我可以查看引用的属性,并看到它指向.dlls的obj文件夹。 不编译时,这些引用为空。

我尝试将引用直接添加到.vcxproj,但出现错误,提示无法添加对___的引用 我也尝试在\\ release文件夹中添加对.dll的引用,但得到:

在此处输入图片说明

我可能应该补充一点,其中一些C ++库是使用VS 2005重建的,我不知道它们是否已正确升级。 在VS2017中,他们旁边都说“(Visual Studio 2013)”,所以我认为这就是他们的目标。

因此,最终我的问题是,为什么有人会从obj文件夹中添加引用,以及如何使它可靠地构建?

我以一种奇怪的方式解决了这个问题,它可能不希望被其他人使用,但是我认为我还是会发布解决方案。 我去了一个好的构建(在构建服务器上),并从obj文件夹中收获了这些(临时).dll,并将它们放在一个永久的位置(检入源代码管理)并为其添加了直接引用。 现在问题已经解决了。 请注意,我确实必须将所有.dll的“嵌入互操作类型”更改为True(默认为False)。 当然,如果构建这些.dll的代码发生更改,我们将不得不重新生成它们并在源代码管理中对其进行更新,但是它们的确过时了,我们并不认为这对我们是个问题。

祝好运! 我不知道为什么在obj文件夹中一开始就引用.dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM