C# 向托管控制台应用程序添加本机DLL路径
我有3个项目的VS2010解决方案:C# 向托管控制台应用程序添加本机DLL路径,c#,.net,visual-studio-2010,dll,console-application,C#,.net,Visual Studio 2010,Dll,Console Application,我有3个项目的VS2010解决方案: 本机(C++)DLL 使用本机DLL的托管(C#)DLL 使用托管DLL的托管(C#)控制台应用程序 我可以将托管DLL设置为控制台应用程序的引用,但无法将本机DLL设置为此类引用 要在VS2010中运行console应用程序而不发生崩溃,我必须将本机DLL复制到.exe文件夹 我有两个问题: 如何将本机DLL添加到DLL搜索路径,以便不必手动复制 如何做到这一点,使每个配置(调试/发布)都采用正确的DLL版本 更详细的解决方案-原因: 以下是更多新手友好的
以下是更多新手友好的详细信息:
.csproj
文件,找到包含本机DLL名称的
(这是在步骤1中添加文件时创建的)。我们将在此处进行一些小更改:
并输入调试DLL的路径,而不是
并输入发布DLL的路径,而不是
您可以在生成后事件中复制文件 或 将文件添加为资源 如何做到这一点,使每个配置(调试/发布)都采用正确的DLL版本 您可以在生成后事件中使用
$(ConfigurationName)
,以了解调试/发布模式。因此,你可以参考图书馆
如果您使用的是资源方法,则必须根据调试/发布模式将项目文件修改为复制。请参阅详细信息我会将本机DLL作为文件放在托管DLL中,并将其属性设置为“内容”和“复制到输出目录”。您能否更具体地说明如何执行此操作(可能会将其重新表述为答案)?另外,这个方法可以用来区分调试版本和发布版本吗?是的,我知道后期版本复制选项。我希望避免它,因为它将复制的责任放在本机DLL上,而不是依赖项目上。对于每个新的依赖项目,我必须更改本机DLL构建项目配置。或者,如何将文件添加为构建依赖资源?将DLL作为文件添加到项目中。将生成操作设置为内容。在收藏夹文本编辑器中编辑项目文件,分别定义调试和发布对应的项目组。类似于为x86和x64维护不同的propertygroup。非常好,这很有效。我会用一种对新手更友好的方式来写。