相关疑难解决方法(0)

我应该如何使用Nuget进行内部企业开发?

我们使用Nuget进行内部开发,以便我们跨团队共享代码.然而,当一个人正在处理将同时跨多个nuget包部署的代码时,我们会遇到问题.例如

A取决于B,它取决于C.

A,B和C将他们的工件推送到Nuget,这就是我们如何管理A,B和C之间的依赖关系.我们发现的问题是,如果开发人员想要在C中进行更改并快速看到这些更改反映在A中,他们会必须经历以下过程.

  1. 在C中进行更改
  2. 将更改推送到git
  3. CI获取对C的更改并构建和部署新的nuget包.
  4. 进入B并使用nuget update package命令更新对C的引用.
  5. 将更改推送到packages.config文件,直到git
  6. CI获取B的更改,并为B构建和部署新的nuget包
  7. 现在打开A并更改对B和nuget更新包的引用
  8. 在A中进行更改以符合B中的更改(并且可传递C)

这似乎非常痛苦,并且导致我们的一些开发人员质疑我们内部开发的代码对Nuget的选择.每个人都喜欢使用外部包.

内部使用Nuget有更好的工作流程吗?

nuget

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

接口与单独的项目中的类实现分开?

我们在一个中型项目(超过6个月的3个开发人员)上工作,需要做出以下决定:我们希望将接口与具体实现分开.第一种是将接口存储在单独的文件中.

我们想进一步分离数据:我们希望在一个.CS文件中添加一个带有接口的项目(CSPROJ)以及带有帮助类的另一个.CS文件(比如此接口中使用的一些公共类,一些枚举等).然后,我们想要另一个项目(CSPROJ),它具有工厂模式,具体的接口实现和其他"工作者"类.

任何想要创建实现此接口的对象的类都必须包含第一个包含接口和公共类的项目,而不是实现本身.

这个解决方案有一个很大的缺点:它将程序集的数量乘以2,因为每个"普通"项目都有一个带有interace的项目和一个带有实现的项目.

你会推荐什么?您认为将所有接口放在一个单独的项目中而不是在其自己的项目中的一个接口上是一个好主意吗?

c# interface

44
推荐指数
5
解决办法
2万
查看次数

在几个项目之间共享c#类源代码

我编写了一个类来处理我的应用程序中的内部日志记录.现在我想在另一个新的,完全独立的项目中使用这个类.

我可以简单地将文件复制到新的项目文件夹,但我希望只保留一个副本,以便其中的所有更改将适用于两个项目.

我可以使用"添加现有文件",但是我在哪里放置文件以便下一个开发人员知道它是必需的.我曾经有一个"共享"文件夹,但有一次该文件夹没有进入下一个开发计算机.

组织这个的最佳方法是什么,以便它对新的维护者最有意义,并最大限度地降低项目中断链接的风险.

c# visual-studio code-sharing

36
推荐指数
4
解决办法
4万
查看次数

Visual Studio:如何管理项目之间共享的代码

这可能是之前发布的,但我不确定要查找的搜索条件!

快速解释.

我有几个项目之间共享的代码.此代码本身仍在进行中.问题在于,每当我需要更新此代码时,我不想做3次,这将成为一场噩梦.

有没有办法将它添加到项目中,而不将其复制到项目文件夹中?即我希望共享类链接到我的3个项目中

C:\ code repository\sharedclass.cs NOT\eachproject\bin\sharedclass.cs

我是否必须将其创建为自己的库项目?如果编译器可以将其编译为"外部"代码,那会好得多.

干杯.

c# visual-studio-2010

10
推荐指数
3
解决办法
7532
查看次数

在.NET中的解决方案之间共享公共库的最佳实践

我们有一组MSVS解决方案(解决方案"A","B","C",......),它们在程序集中共享基本功能,称为"Common.dll".

有3-5个活跃的解决方案(正在开发中),而其他解决方案是被动的,几乎不会被重建.

Common.dll总是在开发中.如何保存我的解决方案代码有多种选择,您会建议什么以及为什么?

一个).将common.dll源代码放到每个解决方案中.优点:它将帮助主动解决方案与common.dll并排增长,而被动解决方案将可编译.缺点:在活动解决方案之间同步活动的common.dll代码很困难

B).将common.dll二进制代码放到每个解决方案中.优点:所有项目都可以编译,而common.dll代码将集中.缺点:很难与common.dll并行增加活动解决方案

C).引用每个项目到最后的common.dll二进制文件看起来像B.但如果common.dll会增长并改变它的接口(有些人可能会说接口应该始终保持不变),它会带来被动解决方案的问题

d).?

先感谢您!

.net version-control project-management

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

如何跨多个项目共享cshtml页面?

我在所有ASP.NET项目中都有几个页面.我想将该代码集中在一个程序集中.我怎样才能做到这一点?是否可以简单地创建和组装并将其添加为我的ASP.NET项目的参考,并且页面将是可访问的?

c# asp.net .net-4.0 razor

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

如何在Visual Studio 2010中引用C#类库项目?

我是视觉工作室的新手,想知道如何设置visual studio 2010,以便我可以参考我的C#windows类库项目?我目前有一个包含2个项目的解决方案 - C#库项目和单元测试项目.

创建将使用此库的多个客户端的最佳方法是什么?它们应该是自己的解决方案还是库解决方案中的另一个项目?如何在引用库项目的项目中使用库函数中的类?

.net c# visual-studio-2010 visual-studio

6
推荐指数
2
解决办法
3万
查看次数

Visual Studio相当于Delphi的"搜索路径"

我在.cs文件中定义了一个C#类,我在现有项目中使用它.我们称之为Magic.cs中定义的Magic类.

现在我正在开发一个新项目,我想在我的新项目中实例化该类的实例.

如何在我的新项目中引用该类而不将文件实际复制到新项目的目录中?

在Delphi中,答案是"将类定义的位置添加到搜索路径".这是一个令人尴尬的愚蠢问题,但我无法在任何地方找到一个好的答案.

这是我尝试过的:

1 - 项目 - >属性 - >引用路径 - >添加我的类的位置(对类的引用仍未解析)

2 - 右键单击​​项目 - >"添加现有项目" - >选择类(在我的项目文件夹中创建一个新的单独副本)

3 - 右键单击​​项目 - >"添加引用" - >看到它期望像DLL一样编译目标.

也可以看看

c# delphi visual-studio-2008

4
推荐指数
1
解决办法
478
查看次数

如何将 UserControl 拖入工具箱?

我有一个UserControl想要使用的 ASP.net :

在此处输入图片说明

按照 Visual Studio 中的说明进行操作:

该组中没有可用的控件。
将项目拖到此文本上以将其添加到工具箱。

我尝试将项目拖到该文本上以将其添加到工具箱中:

在此处输入图片说明

不幸的是,将项目拖到该文本上不会将其添加到工具箱中:

在此处输入图片说明

所以这就提出了一个问题:

如何将 UserControl 拖入工具箱?

笔记

  • 构建或重建不会自动将控件添加到工具箱中
  • 选择项目”对话框不包括用户控件

asp.net user-controls visual-studio-2010 webusercontrols visual-studio

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

函数定义在 cpp 文件中时出现链接器错误

我的解决方案有三个项目:GoogleTest(用于使用 Google Test)、Vi(用于大部分逻辑)和 ViTests(用于使用 Vi 的单元测试)。ViTests 项目引用了 Vi 项目和 Google Test 项目。

vi在v1.h中有如下代码

#pragma once

namespace Vi
{
    class Vi1
    {
    public:
        int SomeInt();
    };
}
Run Code Online (Sandbox Code Playgroud)

和匹配的 v1.cpp

#include "vi1.h"

namespace Vi
{
    int Vi1::SomeInt()
    {
        return 123;
    }
}
Run Code Online (Sandbox Code Playgroud)

ViTests中的测试功能如下

TEST(Vi1Foo, SomeIntIsSame)
{
    Vi1 v = Vi1{};
    EXPECT_EQ(123, v.SomeInt());
}
Run Code Online (Sandbox Code Playgroud)

链接器错误说有一个未解析的符号SomeInt。但是,我可以通过像这样内联函数来消除链接器错误:

namespace Vi
{
    class Vi1
    {
    public:
        int SomeInt() { return 123; }
    };
}
Run Code Online (Sandbox Code Playgroud)

为什么将单元测试项目SomeInt放在单独的 cpp 文件中时找不到函数定义?

谢谢。

额外的细节很有用:我正在使用 Visual Studio 2015。

错误信息: …

c++ linker

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

如何使用 Visual Studio 在另一个项目中共享一个项目的 css 和 js 文件?

我有两个项目,都在 Asp.Net MVC4 中。一个项目是遗留应用程序,另一个项目是新项目。我在遗留项目中有一些样式表和脚本,我想在新项目中使用它们。我不想在新项目中复制这些文件,但希望获得这些文件的引用。如何实现。

我尝试使用这种方法,但是当我在浏览器中输入 css 的 URL 时,出现页面未找到错误。

asp.net-mvc projects-and-solutions visual-studio asp.net-mvc-4

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

链接文件和添加另一个项目作为参考之间的区别?

我有一种情况,我有要在 1 个以上应用程序中使用的功能。特别是,我Repository采用了 C# 类库的形式,其中包含 EF .edmx、存储库和 UnitOfWork 之类的内容,这些内容足够通用,可以跨应用程序使用。

我很沮丧,我不能更清楚地看到图片,因为我应该清楚地了解差异;我做到了一点。但是,我认为我无法看透每个选择的后果和整体差异。

我已阅读此链接:您如何在 Visual Studio 中的项目/解决方案之间共享代码?它提供了一些很好的建议,但这两个建议似乎都站得住脚。我想更好地了解每种产品的下游影响,并了解哪种选择适合我的需要。

我相信通过链接文件,我会在 Application-2 中创建另一个 Repository项目,但使用链接文件作为新层的组成部分。

我相信将Repositoryfrom Application-1添加为对 Application-2的引用会起作用,但我不确定更改代码会产生什么影响。

我基本上需要知道哪种方法会产生正确的结果来满足我在 1..n 应用程序之间共享存储库层的需要?

.net class-library visual-studio code-sharing

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