问题标签 [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.

0 投票
1 回答
79 浏览

image - 图像控件未在 WinRT 8.1 Xamarin.Forms(便携式)项目中呈现

xamarin.forms 中的图像渲染器未在 Xamarin.Forms(便携式)中渲染,它在 Windows RT 8.1 手机的 Xamarin.Forms(共享)中工作。为什么呢?是否有另一种在 Windows RT 8.1 手机中呈现 IMAGE 控件的方法。

我的代码: - 汇编代码在这里

[程序集:ExportRenderer(typeof(Xamarin.Forms.Image), typeof(ImageWinRenderer))]

-下面的渲染器类

公共类 ImageWinRenderer:Xamarin.Forms.Platform.WinRT.ImageRenderer

  • 覆盖onelement改变的方法

受保护的覆盖无效 OnElementChanged(ElementChangedEventArgs e)

0 投票
1 回答
738 浏览

xamarin - Xamarin 读取共享项目中的文件

我正在尝试读取共享项目中的文件。

如果我在 iOS 中启动我的应用程序,这工作正常,但在 Android 中我得到 FileNotFound 异常。

0 投票
1 回答
571 浏览

c# - 使用共享项目中的 App.config 文件

如何在 Visual Studio 2015 C# 应用程序中使用共享项目中的 App.config 文件?

这将使用您所在项目中的 App.config!

0 投票
1 回答
1151 浏览

c# - 在解决方案结构中引用共享项目

我正在尝试解决在几个类库中引用共享项目的问题。

内部解决方案项目之间的引用是:

  • 类库 A -> SharedProject
  • 类库 B -> SharedProject
  • 类库 C -> SharedProject
  • 类库 C -> 类库 A
  • 类库 C -> 类库 B

在共享项目中,我只有一个要共享的具有逻辑的类,因此在每个类库项目中,我都使用共享项目中的相同类。但是在构建之后,我在类库 C 中得到以下错误:

类库 A 和类库 B 中都存在“同一类”类型

有没有办法使这项工作,或者我应该用经典类库替换共享项目?

0 投票
1 回答
98 浏览

xamarin - 如何将 M# IDE 生成的模型导入 Zebble for Xamarin - 跨平台解决方案

我开始使用 M#(4.8.333) IDE 开发一个项目,现在我有一个域项目,我需要将它添加到 Zebble 解决方案Shared Project中。

如何在 Entities 和 DAL 文件夹中使用这个 M# 生成的类与 Zebble 移动项目(UWP、Android 等),并且如果需要,仍然能够使用 M# 更改和修改项目?

我应该手动将相关的实体DAL 类复制粘贴到此共享项目中,还是应该将现有文件直接添加到共享项目中,但这会产生一些错误。

我知道这不是正确的方法,但为了学习和理解项目结构,我开始通过将生成的文件添加到共享项目来解决问题,实际上它会创建它们的副本,然后编译错误

  • 用 Zebble.framework 替换所有 MSharp.framework 命名空间
  • 用简单的异常替换一些自定义异常
  • 用 SQLiteDataProvider 替换 SqlDataProvider
  • 删除 DAL 类中的聚合函数
  • 更改 ValidationResult 签名并添加 ValidationResult 参数

    protected override void ValidateProperties(ValidationResult result)

我也知道 DAL 代码不需要在共享项目中,除了用于临时保存数据的本地缓存机制,但我想了解更多信息并像模板中使用 SQLiteDataProvider 分类的示例 Contact DAL 一样使用它。

在 Zebble for Xamarin - 跨平台解决方案中使用 M# IDE 的最佳方法是什么?

0 投票
0 回答
1138 浏览

visual-studio-2017 - 带有共享项目的VS2017多项目模板

我创建了一个用于 VS2017 的多项目模板,包括一个控制台应用程序和两个共享项目。我可以看到显示的模板,但是每当我尝试使用它来创建一个新项目时,我都会收到一条错误消息,指出在路径 \AppData\Local\Temp\< 中找不到第一个共享项目的“projiitems”文件看似随机生成的名称>\<SharedProjectName>\<SharedProjectName>.projitems。在我消除错误后,仍然会创建解决方案,但只有共享项目在那里。

使用我上传到 OneDrive 的这个模板可以重现这种情况:

https://1drv.ms/u/s!At78FKXjEGEoh7F-vo5XppZBOImatA

我使用这个简单的解决方案创建了模板:

https://1drv.ms/u/s!At78FKXjEGEoh7F_QkSugfzie8I0mg

我所做的是:

  1. 使用“项目”->“导出模板...”单独导出每个项目。
  2. 提取导出的 ZIP 文件以表示所需的文件夹结构。正如您在项目模板 ZIP 文件中看到的那样,每个项目都有自己的文件夹。
  3. 在 MSDN 的帮助下创建了一个“vstemplate”文件,并包含了三个项目文件及其相关路径。
  4. 压缩三个文件夹和新的“vstemplate”文件并将其移动到 Visual Studio 模板文件夹 (Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#)。

我做错了什么?

0 投票
0 回答
240 浏览

c# - 将 Xamarin 跨平台项目连接到 OData 服务

我正在使用 Visual Studio 2017 Xamarin 跨平台模板。这应该连接到 OData。所以我添加了这些 NuGet 包:

还没有错误。但:

根据xamarin 文档,我应该添加Simple.OData.Client. 添加后,Simple.OData.Client (v 4.26.0)我得到了共享项目中几乎所有类型的Reference to type 'Object' claims it is defined in 'System.Runtime', but it could not be found代码。CS7069

我做了一些谷歌搜索,发现了这个。我不知道在哪里添加。

我补充说System.Runtime,但这并没有做任何事情。

请将该解决方案视为具有 3 个项目的未更改 xamarin 跨平台解决方案。SharedProject,AndroidiOS

是否存在版本不匹配?如果是这样,这些参考的哪些版本相互兼容?

提前致谢 :)

0 投票
0 回答
54 浏览

xamarin - Xamarin 共享项目中的 CarouselView

我正在使用这个第三方组件 CarouselView

如果将 PCL 用于主项目,说明很清楚,但我碰巧使用共享项目开始我的解决方案。

我的问题是我无法为在共享项目中找到的 xaml 加载程序集和命名空间。

我创建了一个使用 PCL 的测试项目,并且能够轻松地让它工作。

我的问题是,这个插件可以与 Xamarin 共享项目一起使用吗?

0 投票
1 回答
335 浏览

linux - 在 dotnetcore classlib 中引用共享项目,并在 windows 和 linux 上构建工作

我的目标是从 dotnetcore 类库中引用一个共享项目。

为了做到这一点,我在 windows 上的 Visual Studios 2017 中打开了我在 linux 上使用 .NET 命令行工具 (1.0.4) 制作的解决方案,因为我读到 vs2017 支持对 shprojs 的引用。所以我使用 vs 添加了一个引用,并将这一行添加到 .netcore 库 csproj 文件中:

在这一点上,我认为一切都会完美无缺。我在视觉工作室中构建它,那里没有问题。我认为由于我的 cli 版本在 windows 和 linux 上是相同的,因此该项目将以相同的方式构建并支持相同的功能。

但是,当我在 linux 上尝试这些更改时,我收到了一堆“ error CS0246: The type or namespace name 'TypeName' could not be found (are you missing a using directive or an assembly reference?)”消息。

我也使用了该<Compile Include="..\Objects\*.cs"/>语句并得到了同样的错误。但是,如果我同时使用两者,那么我会得到warning CS2002: Source file 'Objects/*.cs' specified multiple times

我不确定如何解决此问题。在我看来,构建过程知道它应该将这些文件构建到输出中,但是当构建实际发生时,它会将它们排除在外并破坏了引用。

任何帮助都会很棒。

0 投票
1 回答
973 浏览

visual-studio-code - 有没有办法在 Visual Studio Code 中使用共享项目(shproj)?

你好,

共享项目似乎是在 .NET Core 2.0 Web 项目和 .NET 4.7 WinForms 项目之间共享代码的好主意。我里面有一堆扩展以及两个项目都使用的 web api 客户端代码。

在 Visual Studio 2017 中一切正常。

但是,在路上我使用带有 Visual Studio Code 的 MacBook 计算机,它无法以任何方式识别 shproj。我还尝试了带有新的多个工作区的 Insider 版本,但这似乎也仅适用于实际项目(csproj)。
我知道有适用于 Mac 的 Visual Studio,但它非常庞大,远远超出了我在路上的需求,所以我想避免它。

所以,我的问题是 - 有没有办法将 Visual Studio Code 与使用共享项目 (shproj) 的项目一起使用?我想在 VSCode 中运行/调试这样的项目。

如果没有,在某处创建功能请求是否有意义?我的意思是,共享项目是为跨平台代码共享而设计的,而 VSCode 是出色的跨平台编辑器,因此很有意义。或者这根本不是 VSCode 的一部分,而是一些扩展(如 OmniSharp)?

谢谢,马里奥