首页 文章

Visual Studio 2017 - Xamarin - 文件“obj \ Debug \ android \ bin \ packaged_resources”不存在

提问于
浏览
23

我已经解决了这个问题2天了,找不到任何解决办法 .

我在Visual Studio 2017中有一个Xamarin Android应用程序,包含三个项目:

  • Xamarin.Android项目(主要项目)

  • 特定于Android的单元测试在设备上运行 - 使用NUnit Templates for Visual Studio创建的 NUnit 3 Test Project (Android) 类型的项目

  • 与平台无关的单元测试项目( Unit Test Project (.NET Framework) 类型的项目)

一切都运作良好,直到现在 . 当我选择我的主项目作为启动项目时,我的应用程序被部署到设备/模拟器 . 当我选择我的特定于Android的单元测试项目时,部署测试项目并在设备/模拟器上由nUnit Xamarin Runners执行单元测试 .

但是几天前我用最新的可用更新更新了我的Visual Studio 2017,现在,当我尝试构建这个特定于android的单元测试项目时 I get the following error

The file "obj\Debug\android\bin\packaged_resources" does not exist.

我到处搜索,包括thisthis SO主题 . 我还完全重新安装了包含Android SDK的Visual Studio 2017和Xamarin . 什么都没有帮助 . 根据我的阅读,我怀疑我安装的Android SDK Build-tools版本有问题 . 这是我当前在SDK Manager中安装的内容:
enter image description here

正如其他SO线程建议的那样,我尝试卸载最新的Android SDK Build-tools(25.0.2)并安装了版本23.0.3(我的所有项目都针对Android 6.0),但它也没有帮助,我仍然有相同的错误 .

也许值得补充的是,当我尝试在我的应用程序中阅读this教程实施RecyclerView时,这个问题可能已经开始发生,他们建议在SDK Manager中安装Android 7.1.1(API 25) . 然而,在此之后我撤消了我的所有变化,甚至重新命名了VS2017 Xamarin .

你知道为什么会这样吗?我真的很感激任何帮助 . 谢谢!

EDIT 2017-04-09:

呃,我删除了VS2017,用全新的Android SDK安装VS2015仍然是同样的问题:(

14 回答

  • 17

    如果有任何手动删除这些条目,请检查resources.designer.cs中是否有未使用的条目 . 这将解决问题 .

  • 0

    我有同样的问题,我删除所有图像文件名称都有“ - ”字符 . 我的问题解决了

  • 1

    以下几个在线建议 - 更新SDK,更新Xamarin等 - 没有一个对我有用 .

    终于发现我的 AndroidManifest 文件中有一个Android提供商的闹钟活动,如下所示

    <activity 
         android:name="com.njcommuter.droid/android.provider.AlarmClock" 
         android:label="AlarmClock"
         .....
         />
    

    删除此行 - 和 rebuilding 工作正常,没有任何错误,并能够成功部署解决方案 .

    注意:通过将线放回来测试这个,并且在重建时我再次得到相同的错误 . 它可以链接到使用任何为其创建包的android提供程序,而不仅仅是AlarmClock .

  • 4

    此错误的另一个原因是您可能将 float number 作为 version 数字 . 在我的情况下,我将其更改为整数,一切正常 . (我通过将 build output 切换为 Detailed 找到了错误)

  • 22

    这个错误在某种程度上是一个包装器,可能是因为没有创建文件的多种原因 . 关键是查看详细输出并查找导致文件创建失败的基础错误 .

    在我的情况下,我损坏了icon.png文件(从VS xamarin nunit模板生成,不会少!) . 一旦我输入有效的png文件,一切都很好 .

  • 0

    我是一个不同的解决方案(只损失了半天):我无法让Hockey应用程序与正确版本的应用程序匹配崩溃,并意识到它使用VersionCode而不是VersionName所以我将我的代码更改为"0.0.34"与名称相同 . 由于一些仍然未知的原因,应用程序在我开始收到此错误之前构建并部署到设备大约3天 The file "obj\Debug\android\bin\packaged_resources" does not exist. 将其设置回数值修复了问题 .

    我通过回顾我的GIT日志并重建每次推送找到了问题,直到找到导致问题的那个 .

  • 0

    我有同样的问题 . 从图像文件名中删除短划线“ - ”符号后,问题就解决了 . 错误信息错误!它不应该是:

    文件“obj \ Debug \ android \ bin \ packaged_resources”不存在 .

    编写这样的错误消息会导致Developer在问题是非法文件名时考虑其他问题 .

  • 1

    有同样的错误,我克服它的方式是启动Android SDK管理器并安装所有更新并删除任何过时的包 . 这件事发生在我身上,因为我的目标是更新的未安装的东西 .

    enter image description here

  • 0

    当我添加新图像作为资源时,我遇到了同样的问题 . 文件名中有一个“ - ”(无效的资源名称字符) . 我重命名并删除了那个角色并且一切都很好 . 资源名称只能包含0-9,a-z或A-Z或任意组合 .

  • 0

    它只是因为版本代码,我通过'1.0'设置了代码,文件"obj\Debug\android\bin\packaged_resources"不存在 . ;而我将它设置为'1',一切正常 .

  • 0

    对我来说它是Target Android Version.I把它设置为

    Compile Version

    但将其更改为编译版本(对我来说这是最新的平台)解决了这个问题 .

    enter image description here

  • 2

    我终于找到了问题所在 . 它与SDK Manager或VS版本中的任何组件无关 .

    localization tutorial from developer.xamarin.com之后,我在Android项目中使用 Strings.xml 玩了一下 . 我想从资源中获取我的活动标签,所以在_345848中我定义了:

    [Activity(Label = "@string/peopleListTitle")]
    

    并在 Strings.xml 文件中添加了此值:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <!-------Other resources values ----->
        <string name="peopleListTitle">People List</string>
    </resources>
    

    在这种情况下,我的构建失败并出现上述错误:

    The file "obj\Debug\android\bin\packaged_resources" does not exist

    当我更改 ActivityAttribute 以直接使用字符串时:

    [Activity(Label = "People List")]
    

    构建过程没有任何问题 .

    我设法找到了解决方案,但实际上当我尝试使用 Strings.xml 中定义的Label文本时,我没有 Build 起来 .

    顺便说一句,我设法通过在工具 - >选项 - >项目和解决方案 - >构建和运行中将构建输出详细程度设置为 Diagnostic 找到了问题,它在“输出”窗口中提供了构建失败的详细信息 .

  • 0

    这个错误的另一个原因,如果那个android NDK(不是android SDK)不是't right, change de version can resolve the problem: go to Tools/Options/Xamarin/android Configurator and change de folder, in my case I' ve三个,最后一个无法编译,但第二个文件夹版本 xx.r11c 就可以了 .

    enter image description here

    enter image description here

  • 0

    简单地说它有效 .

    • 在一个案例中,我复制并粘贴了以前在bin文件夹中工作的"packaged_resources" . [问题是它没有反映UI的变化]

    • 其他我以管理员身份打开了visual studio .

    • 接下来在项目属性窗口中将"Minimum target to Android"更改为较低的api .

    • 我建议不要触及设计背后的代码 . 如果你得到这个错误,只需从工具栏中拉出一些按钮进入设计,视觉工作室就会意识到UI的变化 . 然后单击“全部保存”,以便在设计器文件中进行必要的更改 .

相关问题