1

这是我关注的第一个 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>

可惜没有收获。

4

3 回答 3

0

我今天遇到了同样的问题,不幸的是,使用 sn.exe 无法让它工作。

但是,对我有用的解决方法是仅使用英特尔的一个示例程序作为起始项目,然后从那里修改它。(例如基本功能示例

于 2014-08-06T19:11:11.153 回答
0

此错误可能是由于错误 Windows Registry 尝试修改它或在您的机器上安装 Intel 或 AMD OpenCL SDK,尝试再次创建项目

或更新项目的包含和库路径以从安装的 OpenCL SDK 加载所需信息

于 2014-08-06T05:54:02.620 回答
0

这是一个烦人的问题,可以很容易地回避用于开发目的。

要禁用强名称验证,只需打开 Visual Studio 命令行(例如,在 Windows 7 中:开始 >> 所有程序 >> Microsoft Visual Studio 2010 >> Visual Studio 工具 >> Visual Studio 命令提示符 (2010) )

然后键入sn -Vl which 将返回您为强名称验证注册的所有程序集的列表。

然后键入sn -Vr *,idnumberhere以禁用该程序集的强名称验证。

如果您收到错误 ( Failed to open registry key -- Unable to format error message 00000005),这通常与权限有关:您的用户名可能没有必要的权限来更改强名称验证,因此更改权限C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA以允许完全访问您的用户名再次好起来:)

此外,请确保您以提升的权限运行 VS 命令行,因此请选择Run as Administrator.

希望这可以帮助。:)

如果您还需要更多信息,请告诉我:)

于 2014-08-02T13:26:54.513 回答