Flutter Windows: 无法构建应用程序错误 MSB8066

17

在构建Windows时,我遇到了以下错误:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(238,5): error MSB8066: 自定义构建“D:\DSI projects\sanjali_app\build\windows\CMakeFiles\a6c8cc86bdf940a07f4885a881770ba0\flutter_windows.dll.rule;D:\DSI projects\sanjali_app\build\windows\CMakeFiles\9c479cc21d461e620769ab96f5bca778\flutter_assemble.rule”已以代码1退出。 [D:\DSI projects\sanjali_app\build\windows\flutter\flutter_assemble.vcxproj] 异常:构建过程失败。

21个回答

33

2021年8月更新

我也遇到了同样的错误几个小时,但是GitHub上的问题或StackOverflow上的回答似乎对我都不起作用。

所以在研究后,我发现造成 Error MSB8066 错误的原因没有具体的原因,但可能是由于项目文件路径中包含空格(如@aishamhasan所述),或者由于其他未确定的原因。 在我的情况下,有一个简单的文件丢失了。

Error detected in pubspec.yaml:
[   +2 ms]   [        ] No file or variants found for asset: images/project_app.png.
为了快速找出导致该问题的原因,您可以从命令行中运行您的项目,而不是使用Android Studio中的运行功能。

为了快速找出导致该问题的原因,您可以从命令行中运行您的项目,而不是使用Android Studio中的运行功能。

flutter run -d windows -v

在您的详细信息中查找任何错误,或者您可以直接搜索 Error 然后尝试找出导致错误的原因。

遵循相同的方法,我能够快速解决错误。


1
这个解决方案完美地运行了。在终端中运行此命令时,精确的错误信息被显示出来。谢谢。 - Sankar Arumugam
1
这个解决方案帮助我知道问题出在哪里。在我的情况下,经过这样做,只需要执行flutter pub upgrade --major-version,因为问题出在一些过时的依赖项上,特别是win32,这导致了错误。再次非常感谢。 - CNK

14
有时我也会遇到这个错误。我发现只要在 pubspec.yaml 文件中声明 assets 文件夹时忘记加上最后的斜杠 "/",就会出现这个错误。例如:
这样会产生错误:
flutter:
  assets:
    - assets/
    - assets/game_logos

在URL结尾加上斜杠可以解决该错误:

flutter:
  assets:
    - assets/
    - assets/game_logos/

1
没错,就是这样。还有一个提示给其他人:如果你在pubspec.yaml中添加了任何资源路径,并突然开始看到这个错误,请在尝试其他任何操作之前尝试这个方法。 - KHAN

3

在我的情况下,我有一个assets图像,我将其从文件夹中删除了,但在pubspec.yaml中仍然有路径,所以我删除了路径,然后应用程序就可以在Windows上运行。


2
我遇到的解决方法是从项目中删除构建文件夹/目录。

2
这可能是由于以下原因之一导致的:资源路径缺少斜杠:
所以: assets: assets/image 而应该是这样的: assets: assets/image/ 在末尾加上斜杠。
另一个更常见的问题,可能真正引起此错误的原因是以下内容:
项目所在的目录包含特殊字符,例如: C:\Users\Aurélio Fernam\Documents\Projets\my_project 如您所见,“Aurélio”包含特殊字符。这可能会导致此错误。
还要尝试不要在项目路径中使用带空格的文件夹,例如: C:\Users\Aurélio Fernam\Documents\Projets\my_project 请注意,“Aurélio Fernando/”除了包含特殊字符外,还包含空格。
这也可能是一个触发器。
在将项目移动到更好的目录后,请运行flutter clean并正常运行项目。

1

去除项目文件夹路径中的空格可以解决该问题。

Flutter问题


如果它帮助您解决了问题,请将其标记为答案。 - Zuher Abud Said

1

在生成Python绑定时,我遇到了MSB8066错误,通过在CMakeLists.txt中禁用BUILD_PYTHON_BINDINGS来解决了这个问题。


当我构建Flann 1.9.1时 - ZQ.Chai

1
简单的步骤来解决这个错误:
1) 运行flutter clean 2) 运行flutter pub get 这将帮助您使项目摆脱这个错误。

1

我收到了这个错误

C:\dev..\client\build\windows\CMakeFiles\0950da8beda6981876b8c7492aa5c9b3\flutter_windows.dll.rule;C:\dev..\client\build\windows\CMakeFiles\4176b1834887218866857c2082a6e590\flutter_assemble.rule" �����訫� ��� � ����� 1. [C:\dev..\client\build\windows\flutter\flutter_assemble.vcxproj] 异常:构建过程失败。

问题出在 pubspec.yaml 文件中,图像链接在 assets 中重复了:

assets:
    - assets/images/
    - assets/images/iconMars40.png

0
在我的情况下,我的一个资产文件夹缺少了一个结尾的斜杠。
flutter:
  assets:
    - res/subDir # Changing it to res/subDir/ fixed the issue

如果这不是你的情况,你可以使用详细的命令行参数来查找更多细节:
flutter run -d win --verbose

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接