预编译完成。而且 在没有安装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.snk using 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.snk using 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.dll extern 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 expected class Tester { public static void Main() { Ref.A1().M1(); Ref.A2().M2(); } } |
最终还是找到了解决该问题的方法,出现该问题主要是应该安装.net 3.5后,会自动默认安装3.5的来编译。你可以运行下面一段批处理文件
以下是引用片段: PAUSE |
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2005anzhuangwenti/2020/0714/241.html