相关疑难解决方法(0)

如何让.NET Core项目复制NuGet引用来构建输出?

我正在尝试使用.NET Core编写一个插件系统,我的一个要求是能够将插件DLL及其依赖项分发给用户进行安装.但是,我无法弄清楚如何将我的NuGet依赖项包含为构建工件并将它们输出到构建文件夹,而不必将其dotnet publish用作hack.有什么方法可以在csproj中指定它吗?

c# msbuild csproj nuget .net-core

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

未找到应用程序依赖项清单(...)中指定的程序集

我将Microsoft.AspNetCore从2.0.3升级到2.0.5,而我的WebAPI项目虽然在本地成功运行,却无法在生产(IIS)中启动.在升级之前,生产中的一切都很好.日志目录中生成的错误消息如下:

Error:
  An assembly specified in the application dependencies manifest (MyProject.WebAPI.deps.json) was not found:
    package: 'Microsoft.AspNetCore.Mvc.Abstractions', version: '2.0.2'
    path: 'lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll'

  This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
    aspnetcore-store-2.0.5.xml
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释这究竟意味着什么的细节吗?我认为它的版本不匹配,但为什么会发生这种情况?我认为NuGet包的最新稳定版本不应该有这样的问题.

我能够通过将Microsoft.AspNetCore.All从2.0.5降级到2.0.3来解决这个问题,但是我想找到一个更好的解决方案来解决这个问题,这样我就可以使用这个软件包的最新版本了.

upgrade nuget-package asp.net-web-api2 .net-core asp.net-core

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

防止项目被发现为测试项目

我有几个项目的通用实用程序项目,其中包含一些基本测试类、帮助程序类等。项目定义如下所示:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFrameworks>net461;netstandard2.0</TargetFrameworks>
    <RootNamespace>SomeRoot.Util</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentAssertions" Version="5.10.2" />
    <PackageReference Include="xunit" Version="2.4.1" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

我假设由于它引用了 xUnit,因此 Visual Studio 和命令都dotnet test将其视为测试项目。但由于它不是,我想以某种方式阻止视觉工作室,并且dotnet test不将该项目识别为测试项目。

删除对 xUnit 的引用不是一个选项,因为基类需要 xUnit 包中的一些接口。

c# xunit ms-project visual-studio

9
推荐指数
1
解决办法
2955
查看次数