相关疑难解决方法(0)

在VS2017 .Net标准库中对内部方法进行单元测试

我目前正在使用最新的Visual Studio 2017 Release Candidate来创建.Net Standard 1.6库.我正在使用xUnit对我的代码进行单元测试,并且想知道你是否仍然可以在VS2017中测试内部方法.

我记得你可以在VS2015中使用一行AssemblyInfo.cs类来使指定的项目能够看到内部方法

[assembly:InternalsVisibleTo("MyTests")]
Run Code Online (Sandbox Code Playgroud)

由于VS2017 .Net标准项目中没有AssemblyInfo.cs类,我想知道您是否还可以对内部方法进行单元测试?

c# unit-testing visual-studio-2017 .net-standard

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

Visual Studio 2017中的自动版本控制(.NET Core)

我花了几个小时的时间试图找到一种在.NETCoreApp 1.1(Visual Studio 2017)中自动增加版本的方法.

我知道AssemblyInfo.cs是在文件夹中动态创建的: obj/Debug/netcoreapp1.1/

它不接受旧的方法: [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.*")]

如果我将项目设置为包我可以在那里设置版本,但这似乎用于构建AssemblyInfo.cs文件.

我的问题是,有没有人想出如何控制.NET Core(或.NETStandard)项目中的版本.

c# visual-studio .net-core visual-studio-2017 .net-standard

93
推荐指数
15
解决办法
6万
查看次数

Visual Studio 2017新版.csproj InternalsVisibleTo

在新的Visual Studio 2017 .csproj项目文件中从AssemblyInfo放置InternalsVisibleTo的位置?

msbuild csproj assemblyinfo visual-studio-2017

42
推荐指数
3
解决办法
8445
查看次数

指定的版本字符串不符合要求的格式 - 主要[.minor [.build [.revision]]]

我想使用内部版本号附加我们的应用程序版本.例如,1.3.0.201606071.

在AssemblyInfo中设置它时,我得到以下编译错误:

错误CS7034指定的版本字符串不符合所需的格式 - 主要[.minor [.build [.revision]]]

装配信息:

[assembly:System.Reflection.AssemblyFileVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("1.0.0.201606071")]
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

.net c# assemblyinfo

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

使用.NET Core时是否需要AssemblyInfo?

以前,AssemblyInfo.csVisual Studio会自动处理文件以包含程序集范围的属性,如AssemblyVersion,AssemblyName等.

在.NET Core和ASP.NET Core中,project.json负责保存大部分信息.

所以问题是:我是否需要使用该属性标记我的程序集?如果我不用该属性标记汇编,我可以获得什么陷阱?

csproj assemblyinfo .net-core asp.net-core

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

单元测试ASP.NET Core中的内部类

我想internal在ASP.NET Core项目中对具有保护级别的类进行单元测试.我已将AssemblyInfo.cs文件添加到测试项目的属性中:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: InternalsVisibleTo("xxx.xxx.xxxTests")]
Run Code Online (Sandbox Code Playgroud)

但是当我在我的测试中调用它时:

mockApplicationBuilder.Verify(y => y.UseMiddleware<HttpExceptionMiddleware>());
Run Code Online (Sandbox Code Playgroud)

我还是得到的

由于其保护级别,HttpExceptionMiddleware无法访问

为什么我的AssemblyInfo属性不起作用?

我的设置是我有一个包含2个文件夹(src和测试)的解决方案,这些文件夹分别包含src项目和文件夹根目录中的测试项目.AssemblyInfo.cs文件位于我的src项目的属性中.我是否需要在assemblyInfo.cs属性中指定测试项目的完整路径?

AssemblyInfo.cs我的测试项目中也有一个,尽管我认为这是无关紧要的.

c# assemblyinfo .net-core asp.net-core

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

.net核心项目中的SharedAssemblyInfo等效?

当我希望解决方案中的多个项目共享相同的程序集信息(主要是AssemblyVersion)时,我曾经使用过这里解释的tecnique:https://blogs.msdn.microsoft.com/jjameson/2009/04/03/shared- 装配信息,在视觉工作室项目/

现在我们正在研究.net核心和asp.net核心项目的解决方案,我们希望所有项目共享相同的AssemblyVersion,但现在每个项目的版本都存储在它的.csproj文件中(我们使用的是vs2017)

我尝试生成信息,<GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>但新文件是在构建时创建的

有没有办法集中这些信息,如"旧"SharedAssemblyInfo.cs方式?

.net-core visual-studio-2017

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

如何自动增加 .NET Core 项目的版本(例如“1.0.*”)?

在旧的 .NET 框架中,您可以设置[assembly: AssemblyVersion("1.0.*")]并且编译器会自动增加版本。

使用 .NET 核心,我尝试了各种方法,但无法让它自动递增。

  • 我已经按照类似的问题在 .csproj 中添加了<Deterministic>False</Deterministic>和。代码编译但版本保持不变<AssemblyVersion>1.0.*</AssemblyVersion>
  • 我尝试过同样的事情,但使用此处描述的<Version>1.0.*</Version>标记。这实际上将产品版本设置为 1.0.*(带星号)。
  • 我已经在属性属性/包页面中设置了程序集版本。好像也没什么。

它似乎都不起作用。我错过了一些简单的东西吗?这只是一个标准的 .NET Core Web 项目。

.net c# versioning .net-core asp.net-core

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

如何在ASP.NET Core中共享汇编信息?

我正在使用ASP.NET Core开发REST Api.我曾经使用包含常见属性(如AssemblyCompany,AssemblyCopyright,AssemblyTrademark和AssemblyVersion)的共享文件在我的解决方案中共享汇编信息.这样,解决方案中的所有项目都将使用相同的程序集信息属性进行编译.

在ASP.NET Core中,这些属性现在在project.json文件中定义.有没有办法以类似的方式分享这些属性?

assemblyinfo .net-core asp.net-core

7
推荐指数
2
解决办法
3498
查看次数

定义控制台应用程序版本,并从应用程序引用版本信息

我有一个 .NET 5.0 控制台应用程序。如何创建版本资源,然后在我的应用程序中显示该版本?

过去,我见过一个AssemblyInfo.cs文件。但我在我的新项目中没有看到类似的东西。

.net c# .net-5

6
推荐指数
1
解决办法
2577
查看次数

如何为Nunit测试在dotnet核心中设置Parallelizable Attribute?

在dotnet框架项目中,在nunit中并行运行测试的一种便捷方法是在AssemblyInfo.cs文件中进行设置。

[程序集:Parallelizable(ParallelScope.Fixtures)]

但是,在.net core或.net标准中,不再有AssemblyInfo.cs文件。因此,如何能够将范围设置为仅在一个地方以net core或net standard并行,而不必在每个测试类文件上添加该装饰器?

c# nunit .net-core

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