问题标签 [shared-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xamarin.forms - 如何在 xamarin 表单共享项目中检查 Internet 连接
如何在 Xamarin 表单共享项目中检查 Internet 是否可用。
我们可以在 PCL 项目中使用交叉连接插件,我们可以在共享项目中使用相同的插件吗?
android - Xamarin Forms and Prism to native view - 从 prism 项目中的视图导航到共享项目中的视图
我的项目:
MyAppB(外部共享项目)
- 包括从 ContentPage 扩展的多个视图(xaml 文件)
- 使用例如 await Navigation.PushAsync(new Chat());
MyApplicationA(代码共享 - .NET Standard 2.0)
- 使用 prism 框架构建 (Model-View-ViewModel)
- 使用例如 await NavigationService.NavigateAsync("name", parameters);
我的应用程序A.Android
- 同时引用(MyApplicationA 和 MyAppB)-> 这是正确的吗?
我的应用程序A.iOS
- 同时引用(MyApplicationA 和 MyAppB)-> 这是正确的吗?
我的目标:我想从 MyApplicationA 中的视图或视图模型导航到 MyAppB 中的视图。
幸运的是,从 MyApplicationA 中的视图模型导航到 MyAppB 中的视图正在工作。
我在 MyApplicationA 中使用接口定义并在视图模型中调用它。该接口在 MyApplicationA.Android 和 MyApplicationA.iOS 中实现。
工作:导航我使用:App.Current.MainPage = new NavigationPage(new MainPage(screenCaptureIntent));
//(意图是我必须从 MyApplicationA 导航到 MyApplicationA.Android 再到 MyAppB 的原因)
不工作:使用await App.Current.MainPage.Navigation.PushAsync(new MainPage(screenCaptureIntent));
不起作用并给出以下错误:PushAsync 在 Android 上不受全球支持,请使用 NavigationPage。
但是我无法从 MyAppB 中的视图返回到 MyApplicationA 中的应用程序,例如加载数据的视图,在最好的情况下,它将是导航堆栈中的最后一页......
有人提示我如何解决这个问题吗?我做对了吗?或者我可以在 MyApplicationA 中引用 MyAppB - 但是设备特定代码会发生什么,例如#if __IOS__
谢谢丹尼尔
c# - 无法访问在同一个共享项目c#中定义的接口
我需要创建一个通用项目并将其用于多个应用程序。我以前为此使用过类库。所以这次,想探索一下Shared Project。我创建了一个共享项目。我创建了一个接口并想创建一个实现该接口的类。我无法在属于同一共享项目的类中引用创建的接口。但是,我可以在其他项目中使用此接口,其中我添加了共享项目的参考。
c# - C# 在共享项目中使用引用/类库
我刚刚在 Visual Studio 2017 中学习并创建了一个共享项目。我注意到共享项目没有“引用”来引用其他资源(其他项目、类库……)。我什至看了一下 .shproj 文件,发现它只导入了我在共享项目中创建的类。
我的问题是,如果我想创建一个加载项应用程序,我需要使用类库来调用源软件公开的必要 API。如何将其他项目/类库(或一般资源)引用/添加到我的共享项目中?或者这甚至可能吗?
我的部分问题也在这里描述,参考来自其他共享项目的共享项目
但我需要一个更通用的解决方案。谢谢大家的帮助。
c# - Windows 窗体引用和具有冲突导入类型的单例
我有以下项目的解决方案:
- 模型:与模型共享的项目
- App1:一个窗体应用程序
- App2:另一个窗体应用程序
我正在尝试将当前在两个项目中重复的一些 UserControl 移动到一个名为 CommonUI 的通用项目中。所以:
- 模型
- CommonUI:参考模型
- App1:引用模型和CommonUI
- App2:引用模型和CommonUI
但这给了我很多警告,例如:
'[..]Model\AppState.cs' 中的类型 'AppState' 与 '[..]CommonUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 中的导入类型 'AppState' 冲突。使用 '[..]Model\AppState.cs' 中定义的类型
问题是 AppState 是一个单例,但它被重复了,App1 看到一个实例,CommonUI 看到另一个实例我现在有 2 个名为“AppState”的类,一个来自参考 App1->Model,另一个来自 App1->CommonUI - >模型。
我做错了什么?谢谢
visual-studio - 共享项目选项完全从 Visual Studio 2019 中的 Xamarin.Forms 项目菜单中消失了吗?
几年以来,我一直在Visual Studio中使用Xamarin.Forms ,并且最近更新了我的IDE(VS v. 16.3.7)。现在我意识到缺少了一些东西:共享项目选项。
当我通过向导创建新项目时,现在缺少是否要使用共享项目或PCL (或 NetStandard)的问题(请参见下面的 VS 2017 屏幕截图)
我知道您仍然可以创建一个共享项目并手动添加一个iOS和一个Android项目,但这太麻烦了。我的问题确实是:微软继续将PCL /NetStandard 推到共享项目战略之上是否有原因?
我对这个决定感到特别困惑,因为早在 2016 年@miguel.de.icaza 就宣布他最喜欢的选项(在大多数情况下)是共享项目策略:
https://tirania.org/blog/archive/2016/Jan-22.html
对我来说,PCL 对于大多数用途来说太麻烦了。这就像用佳能杀死一只苍蝇。它强加了太多的限制(有限的 API 表面),迫使您跳过箍来完成一些非常基本的任务。
msbuild - 为什么 PackageReference 的引用不适用于 msbuild 和共享项目?
从 packages.config 迁移到 PackageReferences(.NET4.5 项目)后,构建(msbuild)被破坏。
错误 CS0246:找不到类型或命名空间名称“anynugetpackage”(您是否缺少 using 指令或程序集引用?)
使用 VisualStudio 进行构建可以完美运行。所以我做了一些研究,发现包的恢复也适用于 msbuild。
该问题仅存在于未正确应用 PackageReference 引用的共享项目 (.shproj) 中。
一种解决方法是添加对 PackageReference 的库的修复引用,但是像这样,与 packages.config 相比,我失去了 PackageReference 的所有优势
您可以查看项目和不同的解决方案(分支):
packages.config
PackageReference
PackageReference 解决方法
有关构建和错误日志,请参阅 github 操作。
有没有更好的处理方法?
xamarin - Xamarin 项目中 Xamarin.iOS 和 Xamarin.Android 的 IF 条件
我是 Xamarin 的新手,正在尝试创建 Liveswitch 项目(https://help.frozenmountain.com/docs/liveswitch/release-notes)
项目:Liveswitch 演示项目有 Xamrine 项目,其结构如下:
我想创建 Xamrine 项目
当我尝试使用时。Xamarin 项目(这有 Chat.csproj)和代码 app.xaml.cs,如下所示:
它向我显示未找到 Intent 的错误。即它不允许我以不同的方式为 Android 和 iOS 的方法定义编写条件编码。
但在共享项目中,它允许我编写它。有什么办法可以在 Xamarin 项目中做到这一点?我正在为 MAC 版本 8.5 使用 Visual Studio
其他问题是如果我用户共享项目并尝试使用
LoadApplication(new App(screenCaptureIntent));
MainActivity.cs 无法在共享项目中找到文件。如何将共享项目的文件与 Xamarine 中的 android 和 iOS 项目中的文件连接起来。
mvvm - 我的大部分平台特定代码应该在 MVVM 中的什么位置?(旁边的视图)
我正在使用带有 MVVMLight 的 Uno-Platform 试图构建我的项目。我应该将特定于平台的代码放在 ViewModel 中吗?还是应该主要在 Utils/Services 中?