错误 CS0234 名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是不是缺少程序集引用?)

Posted

技术标签:

【中文标题】错误 CS0234 名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是不是缺少程序集引用?)【英文标题】:Error CS0234 The type or namespace name 'Platforms' does not exist in the namespace 'MvvmCross' (are you missing an assembly reference?)错误 CS0234 名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是否缺少程序集引用?) 【发布时间】:2021-02-11 21:39:59 【问题描述】:

您好,我是 MvvmCross 框架和 Xamarin.android 开发的新手,

我尝试通过此链接遵循 TipCalc Android 项目教程https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarinandroid-ui-project

但是,在我创建了 Core 项目并将“MainApplication.cs”添加到解决方案中的 Android 项目之后(安装了两个 MvvmCross 版本 7.2)。我无法在 MvvmCross 中引用 Platforms 包。

它给了我错误,

错误 CS0234 命名空间“MvvmCross”中不存在类型或命名空间名称“Platforms”(您是否缺少程序集引用?)

这应该是一个简单的应用教程,但它让我卡住了 2 天。有人有想法吗?

MainApplication.cs

using System;
using Android.App;
using Android.Runtime;
// These next 2 aren't found
using MvvmCross.Platforms.Android.Core;
using MvvmCross.Platforms.Android.Views;
using TipCalc.Core;

namespace TipCalc.Droid

    [Application]
    // So this MvxAndroid... is also not found
    public class MainApplication : MvxAndroidApplication<MvxAndroidSetup<App>, App>
    
        public MainApplication(IntPtr javaReference, JniHandleOwnership transfer)
            : base(javaReference, transfer)
        
        
    

我添加了MvvmCross 作为程序集引用,但是这些命名空间没有显示出来。这里出了什么问题?

【问题讨论】:

请不要将您的代码发布为图片,而是将其发布为properly formatted markdown 嗨,现在可以了,我只是显示图像以查看问题的上下文(错误报告) 这样比较好,但你能不能也只将错误显示为文本 【参考方案1】:

如果您要更新旧解决方案,请确保将您的 Android 应用程序项目更改为面向 Android 10。否则 NuGet 包将无法为 Android 应用程序正确安装。如果您仍在使用 packages.config,则可能需要在更改目标后卸载包并重新安装。

您可以在此处参考 TipCalc 示例:https://github.com/MvvmCross/MvvmCross-Samples/tree/master/TipCalc

【讨论】:

【参考方案2】:

最近更改了 mvvmcross 命名空间

显示 MvvmCross.Platform 已更改为 MvvmCross

the changelog

【讨论】:

谢谢,这解释了原因,但我仍然需要找出包裹的正确路径! 我认为你会删除 .Platform 因为文档没有说模块被删除它只是说它被移动了 虽然它解决了 MvvmCross 中 Views 和 Core 包的路径。我找不到 MvxAndroidApplication, App> Error CS0246 The type or namespace name 'MvxAndroidApplication&lt;,&gt;' could not be found (are you missing a using directive or an assembly reference? 错误的更改日志 确保您的目标是 Android 10 最终根据文档更改更新命名空间解决了问题【参考方案3】:

虽然当 MvvmCross 6.0.0 版的代码库发生更改时 reece 是正确的,但我的问题的实际解决方案是,为了使教程正常工作,将 Nuget 中的 MvvmCross 包降级到 6.2.1 。我没有测试过任何其他版本,但 6.2.1 对我有用。

【讨论】:

不需要这样做。更新的 TipCalc 示例可以在这里找到:github.com/MvvmCross/MvvmCross-Samples/tree/master/TipCalc

以上是关于错误 CS0234 名称空间“MvvmCross”中不存在类型或名称空间名称“Platforms”(您是不是缺少程序集引用?)的主要内容,如果未能解决你的问题,请参考以下文章

错误 CS0234:命名空间“UnityEditor”中不存在类型或命名空间名称“iOS”。您是不是缺少程序集参考?

错误 CS0234 命名空间“Xamarin.Forms.Platform”中不存在类型或命名空间名称“Android”

ERROR CS0234名称空间名称“编码”不存在

使用 TFS 2017 BuildAgent 构建解决方案时出现错误 CS0234

CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)

E:\双重聚类\新项目\6\6\Form1.Designer.cs(116,28): 错误 CS0234: 命名空间“DotSpatial”中不存在类型或