问题标签 [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 投票
0 回答
125 浏览

asp.net - Visual Studio 共享项目图像/CSS

我有一个共享项目和一个引用共享项目的 .net Core 2.0 Web 应用程序。我的目的是在共享项目中维护一组通用的 CSS 和图像,以供多个 Web 应用程序使用。但我不知道如何在网络应用程序中包含图像和 css。例如,它们是如何出现在 wwwroot/dist 文件夹中的?很多博客都对共享项目的伟大之处以及它们如何用于 css 和图像赞不绝口,但从未真正解释如何使用它们来做到这一点。

0 投票
1 回答
749 浏览

visual-studio - Visual Studio 2017 无法创建或打开 .shproj(共享项目)文件

我最近升级到 Visual Studio 2017 版本 15.6.3。这样做后(并修复了一堆其他问题),我无法再打开或创建 .shproj 文件。

我现有的项目在每个共享项目文件旁边都说(加载失败),每当我尝试重新加载项目时,我的输出窗口中都会显示以下内容:

C:\File\Path\Project.Shared.shproj:错误:预期 1 个导出合同名称为“Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectFactory+ProjectLoadHelper”,但在应用适用约束后发现 0。

同样,如果我尝试创建一个新的共享项目,我会在弹出窗口中收到相同的消息:

Microsoft Visual Studio 应有 1 个合同名称为 Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.ProjectFactory+ProjectLoadHelper 的导出,但在应用适用约束后发现为 0。

为什么 Visual Studio 不允许我加载或创建 .shproj 文件,我该如何解决?

0 投票
0 回答
192 浏览

c# - 共享项目中的 C#/Xamarin 常量

我正在创建一个 Xamarin 共享项目(但这通常适用于 C#/Visual Studio),我想在多个解决方案中重用它。

一些类使用常量字符串来定义 ID 和类似的,例如:

有没有办法定义某种环境变量或宏,所以我可以为不同的项目指定不同的 ID?我想实现这样的目标:

0 投票
1 回答
1623 浏览

xaml - 将多个类的数据绑定到单个列表视图/xamarin 表单

您好,我如何通过 xaml 将多个类的数据绑定到单个列表视图。我成功地将数据从单个类绑定到 lisview,但是当我尝试绑定多个类的数据时,它在 xaml 中没有显示任何内容。

0 投票
1 回答
254 浏览

c# - C# 将共享项目中的类与许多项目集成

我将一个旧项目拆分为它的组件部分,以便各个组件可以被其他几个项目使用。

大约有 4 个阶段分为组件和 3 个将引用这些组件的主项目。

有一个主类(位于共享项目中,称为 Master 类以供参考)在整个共享过程中是一致的。我已经设置了一个共享项目并添加了引用,工作正常。

当尝试使用 A 类(从项目 A 的主类版本引用)将变量传递给组件 A 的主类版本中的方法时,出现了问题,我遇到了兼容性问题。(沿着不能隐式将 MasterClassA 转换为 MasterClassA)

我知道它们是相同的,并且我知道它们本质上是 Master 类的单独实例,这就是它们当前不兼容的原因。

我研究了泛型/反射,更改为可移植库类,似乎在绕圈子。我知道反射很慢,所以如果可能的话,我想避免它。

关于最佳实践以及如何解决问题的任何指导?这是布局的粗略图。 解决方案布局

0 投票
0 回答
35 浏览

c# - Visual Studio/ReSharper 使用哪种共享代码文件方法性能更好?

设置

VS 企业版 15.7.6
ReSharper Ultimate 2018.1.3

我必须在 .net 框架之外的其他 dll 上部署 .net 类库而没有任何权宜之计,并且我试图找出 Visual Studio / ReSharper 的性能影响(IDE 本身的性能,而不是编译/部署的代码)共享代码文件。

我的解决方案有 23 个 .net 4.5.2 类库项目和 1 个共享项目。这个共享项目是这个客户独有的。我也有共享代码,它不是作为仅源 nuget 包共享的客户端所独有的。这意味着将相同的代码添加到每个项目并签入每个项目下的 TFS。

问题

如果我删除所有仅源 NuGet 文件并将所有这些文件添加到共享项目中,Visual Studio / ReSharper 会不会有更好的性能?

目前 VS 在我每次键入按键时都会花费大量 CPU,我想知道这种更改是否会有所帮助。唯一不利的是,任何仅源 Nuget 包的升级都将是手动的......

更新 1 添加了 PrefView

在此处输入图像描述

0 投票
0 回答
357 浏览

xamarin - 是否可以在 Xamarin.Forms 项目之间共享代码?

我的团队使用 VS2017 构建了一个 Xamarin.Forms 应用程序。我们正在使用共享项目,因为我们的核心功能之一需要 ESRI 映射,并且 ArcGIS Runtime for Xamarin 目前不支持共享项目以外的任何内容。

如果我可以使用我们已经为第一个应用程序编写的现有代码,我的老板想要的下一个应用程序应该可以很快开发出来。但是,我看不到任何可以从另一个项目中引用该代码的方法。我尝试在现有项目中添加一个新的 UWP 项目,但随后我必须添加所有相同的 NuGet 包,其中 90% 对这个新项目来说是不必要的。最重要的是,它实际上不会正确编译,因为 App.xaml 是不同的。

我已经搜索了所有试图找到解决方案的方法,但没有提出任何建议。PCL 不是一个选项,.NET Standard 也不是。有没有办法做到这一点?

0 投票
0 回答
57 浏览

javascript - .net Shared Project 如何访问和使用静态文件?

我在我的解决方案中添加了一个共享项目,我想添加部分视图和静态资源(css、图像、JavaScript)。我如何访问它们,它们的路径是什么?

在我的项目中如何引用它们?

config例如,在捆绑包中,正确的路径是什么?

我尝试直接引用它们/js/javascriptFile.js并使用项目根命名空间/SharedProject/js/javascriptFile.js。但是,这些都不起作用。

0 投票
0 回答
92 浏览

visual-studio - 添加现有共享项目,未添加到源代码管理

我有一些共享项目,我在许多其他项目中使用它们。我的新项目工作流程是这样的:

  1. 创建空白 VS 解决方案(选中“新建项目”对话框中的“添加到源代码管理”)
  2. 将共享项目文件夹粘贴到解决方案文件夹中
  3. 将共享项目添加到解决方案中,方法是在 VS 中右键单击解决方案,然后选择 Add -> Existing Project 并选择粘贴的共享项目的 shproj-file

共享项目现在已添加到 VS 解决方案中,但未添加到源代码管理中。我可以做些什么来自动将此项目类型添加到源代码管理中?

添加另一种类型的现有项目会自动将其添加到源代码管理中。我希望它对于共享项目的行为相同。

0 投票
2 回答
2354 浏览

c# - 试图更好地理解共享项目并在不同的解决方案中使用它们

尽管共享项目自 Visual Studio 2015 以来就已经存在(可能早在 VS 2013 update2),但我最近才了解它们。今天,我花时间尝试学习如何使用它们,遵循我找到的教程共享项目:Visual Studio 2015 Preview 的一个令人印象深刻的功能。但是,作者在该教程中所做的一件事对我们不起作用,他创建了共享项目和其他 3 个项目,它们都在同一个解决方案中。当然,您可以这样做,但实际上我们可能希望在某个解决方案中创建一个共享项目,然后随着时间的推移,将该共享项目包含在其他解决方案中。

因此,我所做的不是将 Windows 窗体应用程序放入与 C# Corner 帖子的作者相同的解决方案中,而是创建了一个包含 Windows 窗体项目的新解决方案,然后我尝试从第一个添加共享项目解决方案。首先,我尝试添加 .sln 文件。那惨遭失败。然后我尝试将 .shproj 文件添加到第二个解决方案中。那也惨败了。

接下来,我在 SO 上分享了解决此问题的方法。我找到了 2 个帖子:在共享 (.shproj) 项目中添加引用以及如何从另一个项目添加对共享代码项目 (.shproj) 的引用。第二个给了我一个想法。我决定通过单击解决方案资源管理器中的第二个解决方案,然后执行“添加现有项目”,将共享项目从第一个解决方案添加到第二个解决方案。那行得通。

但我想知道,这是您应该使用共享项目的方式吗?如果是这样,在我看来,我也可以在第一个解决方案中创建一个简单的类库,然后将该类库项目添加到第二个解决方案中。如果您将共享项目添加到不同的解决方案中,而不是仅仅将常规类库项目添加到解决方案中,共享项目是否有一些东西可以使它们本质上更好地使用?