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

Posted

技术标签:

【中文标题】Visual Studio 2017 - Xamarin - 文件“obj\\Debug\\android\\bin\\packaged_resources”不存在【英文标题】:Visual Studio 2017 - Xamarin - The file "obj\Debug\android\bin\packaged_resources" does not existVisual Studio 2017 - Xamarin - 文件“obj\Debug\android\bin\packaged_resources”不存在 【发布时间】:2017-09-03 19:06:07 【问题描述】:

我已经与这个问题斗争了 2 天,但找不到任何解决方案。

我在 Visual Studio 2017 中有一个 Xamarin android 应用,其中包含三个项目:

    Xamarin.Android 项目(主要项目) Android 特定的单元测试在设备上运行 - 类型为 NUnit 3 Test Project (Android) 的项目使用 NUnit Templates for Visual Studio 创建 独立于平台的单元测试项目(Unit Test Project (.NET Framework) 类型的项目)

到目前为止一切正常。当我选择我的主项目作为启动项目时,我的应用程序被部署到设备/模拟器。当我选择我的 Android 特定的单元测试项目时,测试项目已部署并由设备/模拟器上的 nUnit Xamarin Runners 执行单元测试。

然而,几天前我用最新的可用更新更新了我的 Visual Studio 2017,现在,在尝试构建这个特定于 android 的单元测试项目时我收到以下错误

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

我到处搜索,包括this 和this SO 主题。我还完全重新安装了包含 Android SDK 的 Visual Studio 2017 和 Xamarin。没有任何帮助。根据我的阅读,我怀疑我安装的 Android SDK Build-tools 版本有问题。这是我目前在 SDK Manager 中安装的内容:

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

也许值得补充的是,当我尝试在阅读 this 教程的应用中实现 RecyclerView 时,这个问题可能已经开始发生,他们建议安装 Android 7.1.1 (API 25)在 SDK 管理器中。但是,在那之后我撤消了所有更改,甚至重新安装了 VS2017 + Xamarin。

您还有其他想法吗?我真的很感激任何帮助。谢谢!

编辑 2017-04-09:

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

【问题讨论】:

【参考方案1】:

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

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

[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 中定义的标签文本时它没有构建。

顺便说一句,我设法通过在 Tools -> Options -> Projects and Solutions -> Build and Run 中将构建输出详细程度设置为 Diagnostic 来找到问题所在,这提供了详细信息为什么在“输出”窗口中构建失败。

【讨论】:

是的。 诊断选项救了我的命。就我而言,问题是由我添加到 Resources/drawable 文件夹中的图像引起的,名称中带有破折号。我通过打开该诊断选项发现了这一点。谢谢@DawidSibinski! 一个小的无效 .axml 标签也让我吃了不少苦头。 Microsoft/Xamarin,请让智能感知正常工作并让它变得更好! 仍然错误:(您说“[Activity(Label = "People List")]" 比构建通过没有任何问题。哈哈哈你是骗子!我试过了,但我得到了错误。 :( like The file "obj\Release\android\bin\packaged_resources" 我该如何解决?别再骗我们了! @SourceSkyBoxer 呵呵,你听起来很有趣 ;) 你检查过你的构建输出,详细程度设置为诊断吗?如果是,请在此处粘贴详细的错误内容。 谢谢!!诊断也救了我。我的案例是一个无效的 png 文件,我从 jpg 重新命名【参考方案2】:

我遇到了同样的问题。从图像文件名中删除破折号“-”符号后,问题就解决了。错误的错误信息!不应该是:

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

编写这样的错误消息导致开发人员考虑其他问题,而问题是非法文件名。

【讨论】:

除了“-”之外,没有带有重音图形重音符号的名称。 没有空格。【参考方案3】:

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

【讨论】:

【参考方案4】:

我遇到了同样的问题,我删除了所有带有“-”字符的图像文件名。我的问题解决了

【讨论】:

不错!从我的图标文件中删除“-”字符后,真正的问题在我的输出窗口中得到了详细说明,这帮助我解决了问题。【参考方案5】:

此错误的另一个原因是您可能将 浮点数 作为您的 版本 编号。就我而言,我将其更改为整数,一切正常。 (我通过将 build output 切换到 Detailed 发现了错误)

【讨论】:

【参考方案6】:

很简单。

    在一种情况下,我复制并粘贴了以前工作的“packaged_resources” 在 bin 文件夹中。[问题是它没有反映 UI 更改] 其他 我打开视觉工作室为 行政人员。 接下来将“Minimum target to Android”更改为更低 项目属性窗口中的 api。 我建议不要接触设计背后的代码。如果您收到此错误,只需将工具栏中的一些按钮拉到设计中,Visual Studio 就会意识到 UI 发生了变化。接下来单击全部保存,以便在设计器文件中进行必要的更改。

【讨论】:

【参考方案7】:

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

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

【讨论】:

【参考方案8】:

只是因为版本代码,我将代码设置为'1.0',文件“obj\Debug\android\bin\packaged_resources”不存在。;我将它设置为'1 ',一切正常。

【讨论】:

【参考方案9】:

遇到了同样的错误,我克服它的方法是启动 Android SDK 管理器并安装所有更新并删除所有过时的软件包。这发生在我身上,因为我的目标是未安装的较新的东西。

【讨论】:

【参考方案10】:

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

【讨论】:

【参考方案11】:

在遵循了几个在线建议后 - 更新 SDK、更新 Xamarin 等 - 没有一个对我有用。

终于在我的 AndroidManifest 文件中发现了一个 Android 提供程序的活动,用于闹钟,如下所示

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

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

注意:通过放回线路来测试它,我在重建时再次遇到同样的错误。 它可以链接到使用为其创建包的任何 android 提供程序,不一定仅限 AlarmClock。

【讨论】:

【参考方案12】:

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

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

【讨论】:

【参考方案13】:

此错误的另一个原因,如果 android NDK(不是 android SDK)不正确,更改 de 版本可以解决问题:转到 Tools/Options/Xamarin/android Configurator 并更改 de 文件夹,在我的情况下我有三个,最后一个不能编译,但是版本xx.r11c的第二个文件夹可以编译。

【讨论】:

【参考方案14】:

对我来说,它是 Target Android 版本。我将它设置为

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

【讨论】:

以上是关于Visual Studio 2017 - Xamarin - 文件“obj\Debug\android\bin\packaged_resources”不存在的主要内容,如果未能解决你的问题,请参考以下文章

无法找到visual studio 2017生成工具

Visual studio 2017怎么注册激活

visual studio 2017没法安装,总在visual studio installer界面闪推

visual studio2017 添加dll库

Visual Studio 2017 中的 Visual Studio 2010

在 Visual Studio 2015 中打开 Visual Studio 2017 项目