Daw*_*ski 24 android xamarin.android xamarin visual-studio-2017
我已经对这个问题进行了2天的斗争,但找不到任何解决方案.
我在Visual Studio 2017中有一个Xamarin 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.
我到处搜索,包括这个和这个 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),但它也没有帮助,我仍然有相同的错误.
也许值得补充一点,当我尝试在我的应用程序中阅读本教程时实现RecyclerView时,这个问题可能已经开始发生,他们建议在SDK Manager中安装Android 7.1.1(API 25).然而,在此之后我撤消了我的所有更改,甚至重新命名了VS2017 + Xamarin.
你知道为什么会这样吗?我真的很感激任何帮助.谢谢!
编辑2017-04-09:
呃,我删除了VS2017,用全新的Android SDK安装VS2015仍然是同样的问题:(
Daw*_*ski 22
我终于找到了问题所在.它与SDK Manager或VS版本中的任何组件无关.
在developer.xamarin.com的本地化教程之后,我Strings.xml在Android项目中玩了一些.我想从资源中获取我的活动标签,所以在ActivityAttribute我定义的内容中:
[Activity(Label = "@string/peopleListTitle")]
Run Code Online (Sandbox Code Playgroud)
并在Strings.xml文件中添加此值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-------Other resources values ----->
<string name="peopleListTitle">People List</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我的构建失败并出现上述错误:
The file "obj\Debug\android\bin\packaged_resources" does not exist
当我改为ActivityAttribute直接使用字符串时:
[Activity(Label = "People List")]
Run Code Online (Sandbox Code Playgroud)
构建过程没有任何问题.
我设法找到了一个解决方案,但实际上我不知道为什么当我尝试使用中定义的Label文本时它不会构建Strings.xml.
顺便说一句,我设法通过Diagnostic在工具 - >选项 - >项目和解决方案 - >构建和运行中设置构建输出详细程度来找到问题,它在"输出"窗口中提供了构建失败的详细信息.
小智 17
我有同样的问题.从图像文件名中删除短划线" - "符号后,问题就解决了.错误信息错误!它不应该是:
文件"obj\Debug\android\bin\packaged_resources"不存在.
编写这样的错误消息导致Developer在问题是非法文件名时考虑其他事情.
| 归档时间: |
|
| 查看次数: |
16418 次 |
| 最近记录: |