This is the OpenCL我正在关注的第一个教程。
我无法创建新的OpenCL项目。当我尝试在Windows 7,64位的visual studio 2010中创建新的OpenCL项目时,出现"Strong name validation failed. (Exception from HRESULT: 0x8013141A)"
错误。因此无法创建新项目。
阅读一些论坛说,我必须用dll做一些事情。但我不知道在说什么。
有些建议是:http://www.lookout.net/2006/04/bypassing-strong-name-verification-for.html要求我这样做:
sn -Vr *,36e4ce08b8ecfb17
但是我为36e4ce08b8ecfb17添加了什么,这是程序集的名称,但在我的情况下,程序集的名称是什么?我刚开始时遇到这个问题,当时我只是尝试创建新的OpenCL项目。
有人可以给我一个特定于OpenCL的提示吗?
然后我点击OK,我明白了:
我尝试了什么
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vl
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly/Strong Name Users
===========================================
*,* All users
iisresolver,B03F5F7F11D50A3A All users
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr * ,B03F5F7F11D50A3
A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open registry key -- Unable to format error message 00000005
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr iisresolver , B03F
5F7F11D50A3A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open metadata scope on iisresolver -- The system cannot find the file
specified.
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr * , *
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open registry key -- Unable to format error message 00000005
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
使用CMD的提升权限后
C:\Windows\system32>sn -Vr * ,B03F5F7F11D50A3A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly '*,B03F5F7F11D50A3A'
这里没有收获,所以累了这个:
C:\Windows\system32>sn -Vr * ,*
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly '*,*'
C:\Windows\system32>
不幸的是没有收获。
答案 0 :(得分:0)
这是一个烦人的问题,很容易被回避用于开发目的。
要禁用强名称验证,只需打开visual studio命令行(例如,在Windows 7中:开始>>所有程序>> Microsoft Visual Studio 2010>> Visual Studio工具> > Visual Studio命令提示符(2010))
然后输入sn -Vl
,它将返回为强名称验证注册的所有程序集的列表。
然后键入sn -Vr *,idnumberhere
以禁用该程序集的强名称验证。
如果您收到错误(Failed to open registry key -- Unable to format error message 00000005
),则通常与权限相关:您的用户名可能没有更改强名称验证的必要权限,因此更改了{{1}的权限允许完全访问您的用户名,一切都应该没问题了:)
此外,请确保以提升的权限运行VS命令行,因此请选择C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA
。
希望这会有所帮助。 :)
如果您需要更多信息,请告诉我:)
答案 1 :(得分:0)
此错误可能是由于Windows注册表尝试修改它时出错 要么 在您的计算机上安装Intel或AMD OpenCL SDK,尝试再次创建项目
或更新项目的include和library路径,以从安装的OpenCL SDK加载所需信息
答案 2 :(得分:0)
我今天遇到了同样的问题,不幸的是,使用sn.exe无法让它工作。
但是,对我有用的解决方法是只使用英特尔的一个示例程序作为启动项目,并从那里进行修改。 (例如basic capabilities sample)