2011-04-19 71 views
1

我正在关注this example on creating a custom url rewrite provider。一切都很好,但由于某种原因没有安装在gac中。以下是我在“后期制作”命令中尝试过的内容:Gac安装问题

CALL "%VS100COMNTOOLS%\vsvars32.bat" > NULL gacutil.exe /if $(TargetPath) 

CALL "%VS100COMNTOOLS%\vsvars32.bat" > NULL "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\gacutil.exe" /if $(TargetPath) 

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\gacutil.exe" /if $(TargetPath) 

gacutil.exe" /if $(TargetPath) 

最后一个实际上失败,代码为9009,因此第三个用于修复它。前两个我完全无能为力。他们不会失败,但也不会做任何事情。第三个似乎工作,但导航到C:\ WINDOWS \组装没有列出我的DLL在那里,当我尝试在IIS中添加提供程序它说它无法在GAC中找到它。我的大会强烈签署。任何想法是怎么回事?

+1

如果这是为.net 4.0查看新的GAC位置%windir%\ Microsoft.NET \ assembly \ – 2011-04-19 15:36:42

+0

是的,我刚刚在gac_32目录下找到它。任何想法为什么IIS不把它当作可用的提供者? – Micah 2011-04-19 15:37:51

+0

@Sergei - 感谢您的线索。这帮助我修复。我的项目是.net 4,但我的网站运行.net 3.5。如果你把它写成答案,我会把它标记为正确的。 – Micah 2011-04-19 15:44:38

回答

0

您也可以使用Microsoft Web Deploy Tool(无论如何v2)安装到gac。使用“同步”选项:

cd "\Program Files\IIS\Microsoft Web Deploy V2" 
msdeploy.exe -verb:sync -source:gac Install="c:\path\to\file\ReplaceProvider.dll" -dest:auto 
1

我遇到的问题不是我在@Sergei建议的错误位置。我将它作为.NET 4.0程序集安装,因此位于其他位置。 IIS的问题是我的网站在.NET 3.5中运行,因此无法找到程序集。