在构建C#项目时有visual studio copy x64 DLL或x86 DLL
问题描述:
我们正在构建一个C#应用程序,该应用程序使用Sqlite.NET的外部DLL。这是一个.NET DLL,但它内嵌了一个C DLL,因此它具有x86和X64的风格。在构建C#项目时有visual studio copy x64 DLL或x86 DLL
我们在项目中添加了对x86版本的引用,所以当我们在x86上构建和运行时就没有问题。 Visual Studio将dll复制到bin文件夹并运行。
在x64上,它仍然会复制x86版本,然后在运行时无法加载它。我们通过暂时将我们的项目设置为仅x86来解决这个问题,但理想情况下,我们希望告诉visual studio根据机器的风格复制正确的版本。
任何想法如何?
答
这可以在MSBuild中完成(即您需要卸载项目并编辑.csproj
文件)。
本质上在属性组中添加一个属性,该属性在平台上有条件标识适当程序集的路径,然后在引用项目组中使用该属性。
答案就在这里:Conditional references in .NET project, possible to get rid of warning?
的可能重复http://stackoverflow.com/questions/2583732/conditional-references-in-net-project-possible-to-get-rid-of-warning – Richard 2010-04-28 09:38:18