相关疑难解决方法(0)

如何用MSBuild引用不同版本的dll

我有一个Web应用程序项目,它使用一组第三方dll.问题是dev/staging环境是32位,但生产是64位.因此,我们每次要部署时都必须重新引用和构建解决方案.我现在想要自动执行此操作,但不确定如何使用MSBuild进行自动化?

所有其他的dll都是一样的,只有3个第三方dll的.


编辑

我已经取得了一些进展,但是我想出了一些运行时装配问题.

我有3个dll文件,1.dll,2.dll,3.dll.每个文件版本为5.1.对于64位dll,名称完全相同,只是差异文件版本.我所做的,将每个重命名为1.v5.dll,1.v6.dll等.在我的项目文件中,我然后引用每个dll如下:

<Reference Include="1.v5.dll" Condition="'$(Platform)'=='x86'">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>bin\1.v5.dll</HintPath>
  <Private>False</Private>
</Reference>
<Reference Include="1.v6.dll" Condition="'$(Platform)'=='x64'">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>bin\1.v6.dll</HintPath>
  <Private>False</Private>
</Reference>
Run Code Online (Sandbox Code Playgroud)

这适用于Visual Studio IDE,我的解决方案编译文件,但是当我去运行网站时,我收到以下错误...

"无法加载文件或程序集'1.v5'或其依赖项之一.找到的程序集的清单定义与程序集引用不匹配.

有关如何处理此问题的任何想法?

c# deployment msbuild visual-studio

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

标签 统计

c# ×1

deployment ×1

msbuild ×1

visual-studio ×1