相关疑难解决方法(0)

用于编译的.NET绑定重定向

当我尝试编译一个使用已部署到我们客户端的文件的实用程序时,我收到以下错误.

程序集'*A*版本2.0.1.2'使用'*B*版本1.1.39.0',其版本高于引用程序集'*B*版本1.1.32.0'.

我们的客户端可以使用这些DLL没问题,因为我们有一个绑定重定向配置文件,它在运行时生效:

<dependentAssembly>
  <assemblyIdentity name="*B*" publicKeyToken="..." culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.1.32.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

为了给出一些背景知识,DLL存在于单独的解决方案中,因此一些引用是文件引用而不是项目引用,这只是我必须要忍受的东西!

是否有任何等效的绑定重定向适用于编译时?

我已经尝试使用调试DLL(版本1.0.0.0)进行编译,源代码回滚到上面的相关版本,但是我在运行时遇到以下错误:

定位的程序集的清单定义与程序集引用不匹配

也许构建服务器的配置与我的机器不同,但无论如何这似乎都不起作用......

.net c#

11
推荐指数
2
解决办法
3158
查看次数

Visual Studio 2017不会发现单元测试

我正在运行.NET Framework 4.6.1构建一个测试类库,我在其中构建MSTesttests(Microsoft.VisualStudio.TestTools.UnitTesting).我可以通过进入包含测试项目并运行的文件夹来完全运行测试dotnet test.

但是,VS不会在文本资源管理器中发现测试.我已经根据这个问题的一些答案推荐将每个相关的NuGet包更新到最新版:

在此输入图像描述

我也曾尝试都Test -> Test Settings -> Default Processor Architecture -> x86x64.

我总是得到以下错误:

[1/10/2018 5:01:03 PM警告]测试运行将使用为框架Framework45和平台X86构建的DLL.以下DLL不会成为运行的一部分:

是什么导致这个?如果它有所帮助,我所有的同事都有同样的问题,而且只有这个解决方案.

这是一个Microsoft.AspNetCore 1.1.2项目.

编辑:csproj:

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

  <PropertyGroup>    
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CsvHelper" Version="6.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.1" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="Microsoft.VisualStudio.TestPlatform" Version="14.0.0.1" />
    <PackageReference Include="Moq" Version="4.7.99" />
    <PackageReference Include="MSTest.TestAdapter" Version="1.2.0" />
    <PackageReference Include="MSTest.TestFramework" Version="1.2.0" /> …
Run Code Online (Sandbox Code Playgroud)

c# mstest asp.net-core visual-studio-2017

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

MVC4 - 无法加载文件或程序集“Microsoft.Web.Infrastructure...”

这是我第一次尝试启动的旧项目。我收到此错误:

Could not load file or assembly 'Microsoft.Web.Infrastructure, 
Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of 
its dependencies. The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

VS2017 上的 MVC4 (dotnet 4.5) 应用程序。

我遇到了这个 S/O 帖子,但我无法完全尝试接受的答案,因为当我尝试保存更改时,它会Copy Local继续更改回False原状。此外,另一个 S/O 帖子似乎表明我不应该篡改Copy Local属性,以便阻止我设置Copy Local为的行为True似乎是故意的(或者可能表明“在全局程序集缓存中找到了程序集”。

为什么我不能设置Copy Local字段?关于如何尝试在 VS2017 中更新Copy Localto 的任何想法True

.net c# visual-studio asp.net-mvc-4

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