标签: shared-project

Visual Studio 2015 - Web项目中缺少共享项目参考选项卡

我从MSDN订阅升级到Visual Studio 2015,因为我很高兴阅读有关共享项目的内容...当我们想要做的只是重用代码时,不再需要在我们的依赖项中管理21382个nuget包.

所以我用一些代码构建了一个测试共享项目.然后我在.Net 4.6上添加一个新的空Web应用程序到项目中.现在我希望转到引用并在引用窗口中看到"共享项目"选项卡,但我没有看到.

现在我可以在同一个解决方案中添加一个类库,然后我会看到该选项卡并添加共享引用.但是我无法将共享项目添加到我的Web应用程序中.

我非常希望我可以使用这个概念与多个MVC项目共享视图.

我在这里遗漏了什么,或者是与Web Projects不兼容的共享项目?

我看到的唯一方法是为我构建的每个Web应用程序提供两个项目.代码为1,内容为1.

例如

XYZ.SomeWebSite.Code (Class Library Project Type) -> references Shared Project
XYZ.SomeWebSite (Web Project Type)
Run Code Online (Sandbox Code Playgroud)

然而,走这条路线,我将无法将视图,文本文件,CSS文件,javascript文件等推送到Web应用程序中.

c# asp.net-mvc-5 shared-project visual-studio-2015 .net-4.6

23
推荐指数
1
解决办法
7090
查看次数

Xamarin共享库和PCL

xamarin共享项目和便携式类库之间的确切区别是什么?

何时使用共享库以及何时使用可移植类库?

这是否可以在共享项目中编写本机功能,如显示警报,访问摄像头并将其用于Android和iOS?

任何人都可以解释我.

portable-class-library xamarin shared-project

23
推荐指数
1
解决办法
7387
查看次数

无法将共享项目添加到Visual Studio测试项目

我正在使用Visual Studio 2015

我有一个共享项目作为独立解决方案(在其他几个解决方案中使用的扩展集合).

我想测试共享项目(独立于任何其他解决方案).

所以,我添加了一个新的TEST项目.

但是,在我的TEST项目中,我无法添加任何对共享项目的引用(无选项).

在此输入图像描述

vs-unit-testing-framework shared-project visual-studio-2015

15
推荐指数
1
解决办法
3289
查看次数

共享项目和资源文件

我们有一个共享项目的解决方案,该项目由另外两个项目引用.

在共享项目中,我们有resx文件,但我们注意到Designer.cs在resx中添加或修改术语时不会更新代码隐藏文件.显然,共享项目不支持嵌入式资源的自定义工具生成(ResXFileCodeGenerator).

我一直在寻找克服这个限制的一段时间.我尝试使用所有资源文件创建一个类库,但后来我偶然发现了无法在共享项目中添加对该类库的引用的问题.

有谁知道如何解决这个问题?将资源文件放在类库中,并且能够在我们的共享项目视图中使用它们吗?

-

除了上面的问题,resx当我们只是在Designer.cs文件中添加代码时,我们可以获取文件上的文件,但看起来仍然存在一些问题.

例如,在视图中,我们可以通过命名空间和术语名称获得翻译,但在IDE中,它们显示为红色(不可解析).但是,如果我们运行应用程序,它的工作方式应该如此.

更新:resx在运行应用程序时,我能够在我的视图中显示的单独项目中的文件中进行翻译.但是,在视图所在的共享项目中,我对该resx文件的引用仍以红色显示.这可能是因为共享项目没有引用翻译项目.一旦构建,具有引用的"真实"项目可以找到resx翻译,因此在运行应用程序时没有问题.

有没有办法告诉visual studio我的共享项目使用resx来自单独的类库的文件,以便它找到条款并且不强调我的引用?让intellisense工作会很好.


根据评论中的要求,请参阅我的View/Html代码片段:

@using System.Configuration
@{
    ViewBag.Title = "ManageCategories";
}
<div class="main container-fluid">
<div id="spis-categories" ng-controller="categoriesController as categoriesVm" ng-cloak ng-init="categoriesVm.siteName='@ConfigurationManager.AppSettings["siteName"]';categoriesVm.pageSize = @inConnexion.Common.Constants.Constants.PageSize">
<div class="modal cust-modal-ontop" tabindex="-1" role="dialog" id="confirmDeleteDialog" data-backdrop="static" data-keyboard="false">
    <div class="modal-dialog cust-modal-dialog">
        <div class="modal-content cust-modal-content">
            <div class="modal-header">
                <h4 class="modal-title">@CategoryResources.SPIS_Categories_Maintenance.Button_Delete</h4>
            </div>
            <div class="modal-body">
                <p>@CategoryResources.SPIS_Categories_Maintenance.Confirm_Delete</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" ng-click="categoriesVm.doDeleteSelected();"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span>&nbsp;@CategoryResources.SPIS_Categories_Maintenance.Label_Yes</button>
                <button …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc visual-studio shared-project

8
推荐指数
1
解决办法
2163
查看次数

如何在.NET核心类库中引用Visual Studio共享项目

我已经创建了许多共享项目,我正在测试这些是否可以在我希望和期望的所有不同项目类型之间共享.到目前为止,我已经管理了所有这些(有时还有一些解决方法),但我还不知道如何使用.NET Core类库来实现它,这非常有用.

我似乎无法通过Visual Studio 2015来实现,有没有人知道这样做的方法?也许直接在类库的project.json文件中输入引用?

编辑:从Visual Studio 2017 RC开始,Shared Projects可以正常使用.NET Core项目.

c# visual-studio shared-project .net-core

7
推荐指数
1
解决办法
2986
查看次数

在几个解决方案项目中引用共享项目

我正在努力修复警告

警告CS0436:'...\SharedProject1\SharedProject1\Class1.cs'中的类型'Class1'与'ClassLibrary1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中的导入类型'Class1'冲突.使用'...\SharedProject1\SharedProject1\Class1.cs'中定义的类型.WpfApplication1 ...\SharedProject1\WpfApplication1\MainWindow.xaml.cs

摄制:

  • 用3个项目创建解决方案:

SharedProject1(向其添加新类)

namespace SharedProject1
{
    public class Class1() { }
}
Run Code Online (Sandbox Code Playgroud)

ClassLibrary1的

namespace ClassLibrary1
{
    public class Class1 { }
}
Run Code Online (Sandbox Code Playgroud)

WpfApplication1(将其添加到MainWindow构造函数)

public MainWindow()
{
    InitializeComponent();
    var a = new SharedProject1.Class1();
    var b = new ClassLibrary1.Class1();
}
Run Code Online (Sandbox Code Playgroud)
  • 参考SharedProject1在两个ClassLibrary1WpfApplication1;

  • 建立,你会得到一个警告.

问题:如何修复警告?

c# shared-project

5
推荐指数
1
解决办法
1266
查看次数

使用T4模板共享项目

我是共享项目的忠实粉丝,我想类似地使用T4模板:在不同的解决方案中引用共享项目,并且无需麻烦地访问生成的内容.

如何使T4模板在共享项目中工作?

c# t4 shared-project

5
推荐指数
1
解决办法
771
查看次数

带有资源字典的共享项目(xaml)

我正在寻找一种ResourceDictionary在项目之间共享的方法。

将新项目添加到共享项目不提供资源字典。它可以在其他(主)项目中创建并拖动。但是我无法将其构建选项更改为Page

在此输入图像描述

这个想法是像这样加载资源字典

var dictionary = new ResourceDictionary();
dictionary.Source = new Uri("/WpfApplication91;component/Dictionary2.xaml", UriKind.Relative);
Run Code Online (Sandbox Code Playgroud)

目前这显然失败了

“System.IO.IOException”类型的异常出现在PresentationFramework.dll中,但未在用户代码中处理

附加信息:无法找到资源“dictionary2.xaml”。

有任何想法吗?

c# wpf xaml resourcedictionary shared-project

5
推荐指数
1
解决办法
4487
查看次数

Visual Studio 共享项目图像/CSS

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

asp.net visual-studio shared-project .net-core

5
推荐指数
0
解决办法
122
查看次数

C# 在共享项目中使用引用/类库

我刚刚在visual studio 2017中学习并创建了一个共享项目。我注意到共享项目没有“参考”来引用其他资源(其他项目,类库,......)。我什至查看了 .shproj 文件,发现它只导入了我在共享项目中创建的类。

我的问题是,如果我想创建一个加载项应用程序,我需要使用类库来调用原始软件公开的必要 API。如何将其他项目/类库(或一般资源)引用/添加到我的共享项目?或者这甚至可能吗?

我的部分问题也在这里描述,参考来自其他共享项目的共享项目

但我需要一个更通用的解决方案。谢谢大家的帮助。

.net c# visual-studio shared-project

3
推荐指数
1
解决办法
2280
查看次数

Newtonsoft.json 序列化和反序列化基础/继承,其中类来自共享项目

所以我有两个类,如下所示。它们都在同一个命名空间和同一个共享项目中。

public class Person{
   public string Name{get;set;}
}

public class EmployedPerson : Person{
   public string JobTitle{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

当我将这些项目序列化为 rabbitmq 时,我将序列化为基类,如下所示:

JsonSerializerSettings settings = new JsonSerializerSettings
{
   TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple,
   TypeNameHandling = TypeNameHandling.Objects
};
JsonConvert.SerializeObject(input, settings)
Run Code Online (Sandbox Code Playgroud)

但是在反序列化时我遇到了问题。我希望能够执行如下所示的操作,其中我将反序列化为基类,然后检查它是否是继承类型。

类型检查:

Person person = Deserialize<Person>(e.Body, Encoding.Unicode);
   if (person is EmployedPerson)
   {
    logger.LogInformation("This person has a job!");
    }
Run Code Online (Sandbox Code Playgroud)

反序列化设置:

   JsonSerializerSettings settings = new JsonSerializerSettings
   {
      TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple,
      TypeNameHandling = TypeNameHandling.Auto
   };
Run Code Online (Sandbox Code Playgroud)

反序列化逻辑:

    private static T Deserialize<T>(byte[] data, Encoding encoding) where T : class
    { …
Run Code Online (Sandbox Code Playgroud)

c# serialization json json.net shared-project

2
推荐指数
1
解决办法
2880
查看次数

VS2017 无法添加对共享项目的引用/共享项目为空

我刚刚遇到这种情况,我想我会分享它,以防它为您节省一些时间。

我在 VS2017 中有一个相当大的解决方案,并且有一个共享项目,其中包含一些通用代码,例如枚举。

我只是尝试将我的共享项目添加到另一个项目(右键单击项目,添加引用并转到共享项目部分)并注意到共享项目是空的。它没有给我共享项目作为一个选项。

看我下面的回答...

c# vb.net visual-studio shared-project

2
推荐指数
1
解决办法
1776
查看次数