Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NET页面中注册程序集的任何版本_Asp.net_Assemblies_Version - Fatal编程技术网

在ASP.NET页面中注册程序集的任何版本

在ASP.NET页面中注册程序集的任何版本,asp.net,assemblies,version,Asp.net,Assemblies,Version,如何在ASP.NET页面上使用程序集的任何可用版本 例如,在我的计算机的网页上添加Crystal Reports控件之前,我使用此标记: <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %> 但是,如果

如何在ASP.NET页面上使用程序集的任何可用版本

例如,在我的计算机的网页上添加Crystal Reports控件之前,我使用此标记:

<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

但是,如果我在具有不同版本Crystal Reports的计算机上安装此网页,则必须更改程序集属性的版本部分:

<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>


我是否可以通过指示ASP.NET使用最新的可用版本或指定所需的最低版本来避免这种情况?

您需要在web.config文件中使用assemblyBinding部分。请参阅。

只需删除
版本=
部分:

<%@ Register Assembly="CrystalDecisions.Web, , Culture=neutral, 
                       PublicKeyToken=692fbea5521e1304"
             Namespace="CrystalDecisions.Web" 
             TagPrefix="CR" %>

你可以这样做:

<%@ Register Assembly="CrystalDecisions.Web, Culture=neutral,
PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>


这将允许您加载任何版本。

您需要确保下载正确的CR版本。由于您使用的是VS 2010,因此需要参考CRforVS\U redist\U install\U 64bit\U 13\U 0\U 1.zip(适用于64位机器)或CRforVS\U redist\U install\U 32bit\U 13\U 0\U 1.zip(适用于32位机器)。这两个是可再发行的包。您也可以下载完整的软件包:CRforVS_13_0_1.exe

我尝试过,但出现错误:
无法加载文件或程序集'CrystalDecisions.Web,Culture=neutral,PublicKeyToken=692fbea5521e1304'或其依赖项之一。系统找不到指定的文件
错误准确-您可能缺少加载的特定版本的一个依赖项。这是忽略版本的危险之一。我的GAC中有三个版本的程序集。当我指定一个版本时,它们都可以正常工作--我尝试了每个版本。但是如果没有
version=
部分,它就会失败。根据Process Monitor,w3wp仅在/bin文件夹中搜索CrystalDecisions.Web.dll和CrystalDecisions.Web.exe。它看起来不像广告客户。我能解决这个问题吗?你的解决方案似乎对其他有同样问题的人有效。在我的计算机上安装Crystal Reports可能会有其他问题。谢谢。这也是我的第一个想法,但它导致了编译错误。正确。。我可以在我的页面上使用这个。希望它永远存在。。
<%@ Register Assembly="CrystalDecisions.Web, Culture=neutral,
PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>