C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
C++ Windows Driver MSB3030 could not copy the file '' because it was not found
VS2017,SDK/WDK,C++项目
我们有一个c++解决方案(驱动程序(,通过TeamFoundationServices-visualstudio.com(现在称为azure-devops?(在开发人员之间共享。
当我执行获取最新源代码并希望重新生成解决方案时,我收到两个MSB3030错误:无法复制文件"C:\path of my colleger his file",因为找不到它。
我发现很奇怪,我在两个错误中的一个错误上看到了我同事他的电脑的路径。他在C:\上工作,我在E:\上工作
卸载项目时,我看到他的路径设置在这里:
<ItemGroup>
<FilesToPackage Include="C:path of my colleaguefoo.xml" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PackageRelativeDirectory>
</PackageRelativeDirectory>
</FilesToPackage>
由于MSB3030,我们无法生成此解决方案。首先,我们必须单独清理特定的项目,重建它,然后构建另一个项目等。按照正确的顺序手动执行几个步骤,反复尝试,喝咖啡,向电脑扔香蕉,祈祷猴子正确输出代码。
有人看到过类似的MSB3030错误吗?在我的电脑上,我看到了我同事的路径,但他看不到我的路径(奇怪!(。
C:\Program Files(x86(\WindowsKits\10\build\WindowsDriver.common.targets(1699,5(:错误MSB3030:无法复制文件"C:…"因为没有找到。
我已经将Any CPU设置为x64,因为它对c++没有任何意义。
C++Windows驱动程序MSB3030未能复制文件",因为找不到
此问题的原因是ItemGroup
的路径是项目文件中的绝对路径:
<ItemGroup>
<FilesToPackage Include="C:path of my colleaguefoo.xml" ...>
...
</FilesToPackage>
</ItemGroup>
无论您的同事是否已将此文件添加到源代码管理,当您将代码从TFS服务器拉到本地并将代码放在不同的本地文件夹中时,绝对路径都会给您带来很多麻烦,您需要手动检查TFS服务器上的代码以查找此文件,并且需要在项目中修改此文件的绝对路径。但是,在您提交代码后,您的同事更新后,此问题将再次出现。因为绝对路径不能分配给两个不同的路径C:
和E:
。
要解决此问题,您需要在源代码中将绝对路径更改为相对路径。通常,我们倾向于将此文件添加到Solution/Project文件夹,然后使用MSBuild宏$(SolutionDir)
/$(ProjectDir)
来指定它。
有关更多详细信息,请查看生成命令和属性的通用宏。
希望这能有所帮助。
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 链接器输入文件未使用,因为链接未完成,我无法获得.o
- 为什么我们需要构建一个提升库,仅仅包含头文件还不够吗,因为提升是模板
- boost :: filesystem :: verver()无法访问文件,因为另一个过程正在使用该文件
- 编译 C++ 文件失败,因为找不到"ssize_t"的定义
- C++:无法移动文件,因为文件夹名称上有空格
- C++无法创建对象文件,因为需要资源
- 当我使用 std::map 从文件中读取值时,该值会随之",",因为键和值用逗号分隔
- 当我从 Windows 请求"Miriam"字体时,我得到的是"Arial"字体。这怎么可能,因为字体文件"mriam.ttf"存在于我的系统中?
- 如何引用要以C++打开的文件,因为其完整路径名将因计算机而异
- 记事本显示 Unicode 字符,因为文件是 ANSI
- c++应用程序找不到com dll,因为编译器使用不正确的guid生成.tlh文件
- 链接器输入文件未使用,因为链接尚未完成
- ostream打开文件失败,因为打开的文件太多
- g++.exe[警告]链接器输入文件未使用,因为链接未完成
- 无法引用库项目 (DLL),因为缺少 .lib 文件
- ifstream 失败,因为我的文件描述符用完了