vs2008与vs2005的冲突
来源:互联网 发布:java web微信支付demo 编辑:程序博客网 时间:2024/05/19 22:57
在没有按照vs2008前开发的web程序安装了vs2008后(准确的说应该是Microsoft .NET Framework SDK v3.5),在编译时会有警告:警告 CS1701: 假定程序集引用“System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”与“System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”匹配,您可能需要提供运行时策略
预编译完成。而且 在没有安装NET Framework SDK v3.5的服务器上会运行不了。
Microsoft MSDN上对于该警告的帮助是这样提示的:
Visual C# 参考:错误和警告
编译器警告(等级 2)CS1701
错误消息
假定程序集引用“Assembly Name #1”与“Assembly Name #2”匹配,您可能需要提供运行时策略
这两个程序集在发行号和/或版本号上有差异。为保证一致,必须在应用程序的 .config 文件中指定指令,并提供程序集的正确强名称,如以下代码示例所示。
示例
下面的多文件示例使用两个不同的外部别名引用一个程序集。第一个示例生成用于创建程序集 CS1701_d 的代码的较早版本。
// CS1701_a.cs// compile with: /target:library /out:cs1701_d.dll /keyfile:mykey.snkusing System.Reflection;[assembly:AssemblyVersion("1.0")]public class A {public void M1() {}}public class C1 {}
这是创建较新版本的程序集 CS1701_d 的代码。注意,由于这两个版本的输出文件同名,需要将较新版本编译到不同于较早版本的目录中。
// CS1701_b.cs// compile with: /target:library /out:c://cs1701_d.dll /keyfile:mykey.snkusing System.Reflection;[assembly:AssemblyVersion("2.0")]public class A {public void M2() {}public void M1() {}}public class C2 {}public class C1 {}
此示例设置外部别名 A1 和 A2。
// CS1701_c.cs// compile with: /target:library /reference:A2=c://cs1701_d.dll /reference:A1=cs1701_d.dllextern alias A1;extern alias A2;// using System;using a1 = A1::A;using a2 = A2::A;public class Ref {public static a1 A1() { return new a1(); }public static a2 A2() { return new a2(); }public static A1::C1 M1() { return new A1::C1(); }public static A2::C2 M2() { return new A2::C2(); }}
此示例使用 A 的两个不同别名调用方法。下面的示例生成 CS1701。
// CS1701_d.cs// compile with: /reference:c://CS1701_d.dll /reference:CS1701_c.dll// CS1701 expectedclass Tester {public static void Main() {Ref.A1().M1();Ref.A2().M2();}}
最终还是找到了解决该问题的方法,出现该问题主要是应该安装.net 3.5后,会自动默认安装3.5的来编译。
你可以运行下面一段批处理文件:
@ECHO OFF
ECHO Disabling publisher policy for System.Web.Extensions.
IF EXIST %windir%/assembly/GAC_MSIL/policy.1.0.System.Web.Extensions/3.5.0.0__31bf3856ad364e35/policy.1.0.System.Web.Extensions.cfg (
REN %windir%/assembly/GAC_MSIL/policy.1.0.System.Web.Extensions/3.5.0.0__31bf3856ad364e35/policy.1.0.System.Web.Extensions.cfg policy.1.0.System.Web.Extensions.cfg.disabled
IF ERRORLEVEL 1 (
ECHO On Windows Vista this script must be run as administrator.
GOTO :END
)
)
ECHO Disabling publisher policy for System.Web.Extensions.Design.
IF EXIST %windir%/assembly/GAC_MSIL/policy.1.0.System.Web.Extensions.Design/3.5.0.0__31bf3856ad364e35/policy.1.0.System.Web.Extensions.Design.cfg (
REN %windir%/assembly/GAC_MSIL/policy.1.0.System.Web.Extensions.Design/3.5.0.0__31bf3856ad364e35/policy.1.0.System.Web.Extensions.Design.cfg policy.1.0.System.Web.Extensions.Design.cfg.disabled
IF ERRORLEVEL 1 (
ECHO On Windows Vista this script must be run as administrator.
GOTO :END
)
)
:END
PAUSE
- vs2008与vs2005的冲突
- vs2008与vs2005的冲突
- 关于 vs2008 与 vs2005 的冲突问题
- vs2005与vs2008的转化
- VS2005与IE8的冲突
- vs2008与office2007的冲突
- 关于VS2005与Vs2008的比较
- NOD32与VS2005冲突的解决办法
- VC6与VS2005冲突
- IE8 与 VS2005(VS2008) 冲突导致 出现 internet explorer脚本错误
- VC的MFC程序VS2008与VS2005的两个不同点
- vs2005与vs2008之间的项目格式相互转换方法
- vs2005与vs2008之间的项目格式相互转换方法
- Vss2005配置 以及与Vs2005/Vs2008的绑定(上篇)
- Vss2005配置 以及与Vs2005/Vs2008的绑定(下篇)
- QT4.6.2与vs2005(vs2008)的整合
- VS2005(VS2008)与VC6.0的几点区别
- 解决sqlserver2005中文版与vs2005的WebApplicationProject的冲突问题
- ADO读取EXCEL所有表名
- datalist删除多行记录
- 全屏窗口javascript
- datalist用法整合
- datareader读数据存列表中
- vs2008与vs2005的冲突
- FileUpload上传控件1
- Gridview鼠标选定颜色和具体列颜色
- FRAMESET 元素 | frameSet 对象
- Gridview自定义分页
- win2000/xp/2003下完全卸载ORACLE
- C# 开机启动
- image控件写成流的形式存SQL
- MyEclipse_6.0.1GA_E3.3常用简介