如何在IIS Express中引用本机文件?

时间:2014-06-16 14:57:11

标签: windows asp.net-mvc-4 iis iis-express

我所拥有的是Asp.Net MVC项目,该项目引用了c ++ / cli程序集,而c ++ / cli程序集又引用了一些本机c ++ dll。这最终是通过Web角色的天蓝色Web服务发布的。

This建议将原生dll复制到"%windir%\ system32 \ inetsrv"启动任务中的文件夹,以便Web角色可以在角色启动时找到它们。这在云上可以正常工作。

但是在本地调试时,我希望IIS Express可以使用这些dll。这些是64位dll所以我必须运行64位版本的IIS express。我试图找出IIS Express 64位的%windir%\ system32 \ inetsrv等价物。

2 个答案:

答案 0 :(得分:2)

事实证明,问题是%windir%。

在64位计算机上,当运行32位进程时,会重定向到SysWoW64。

由于VS是32位,启动任务从VS内部作为32进程运行,文件被复制到错误的目录。

在使用VS和%windir%时使用%windir%\Sysnative否则解决了完整IIS的问题。

对于IIS表示要复制到的正确目录是“C:\ Program Files \ IIS Express”

答案 1 :(得分:0)

Set as copy local

是否可以在引用的属性上设置Copy Local,以便在deploy / debug上本地复制dll?除非我遗漏了某些东西,否则这应该允许IIS找出它需要的位置。