Tag: compatibility

如何从代码中以兼容模式执行程序?

环境: Windows Server 2008 R2 64位 我有一个适用于Windows Server 2003 SP1 兼容模式的程序 。 但是,当我尝试使用C#执行此程序时,程序错误输出。 我认为这是因为从其他程序调用时它没有在兼容模式下运行。 我从我的代码中使用Process.Start(pathToExe)来启动这个程序。 我试图在兼容模式下运行调用程序来检查这是否会使程序正常运行。 请注意,我已将程序集设置为属性|的兼容性 兼容性 。

将System.Drawing.Bitmap转换为stdole.StdPicture

我当前有一个System.Drawing.Bitmap,我需要将其转换为stdole.StdPicture。 目前我正在使用: var pic = (stdole.StdPicture)Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture (MyDLL.Properties.Resources.Img); // this is a System.Drawing.Bitmap 但我得到一个编译器警告: 警告’Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture(System.Drawing.Image)’已过时:’“Microsoft.VisualBasic.Compatibility。*类已过时,仅在32位进程中受支持.http:// go。 microsoft.com/fwlink/?linkid=160862 那么使用什么呢? 我还没找到另一个解决方案……

NuGet包应该支持哪些.NET版本以最大化其可用性和function?

TL; DR: 鉴于:我编写了一个具有相对便携function的库(例如, Left.Pad.©.dll )。 我想通过NuGet让它可用。 要求:如果有人想在任何操作系统的任何版本上通过在任何 IDE或任何代码编辑器中编写代码来安装任何更新的任何版本的任何平台上使用我的库,他们应该能够这样做。 问题:实现该目标的最小 NuGet 目标框架是什么? 奖金问题:如果存在任何不应该被定位的“死”框架,或者在选择目标框架时应该考虑的其他内容,您也可以提及它。 思想(旧版): NuGet包支持多个.NET Framework版本和配置文件 ,例如,包可以提供net20,net30,net35,net40,net45,sl3,sl4,sl5等版本。 但是,假设包的function并不总是存在差异 ,提供大量版本将浪费构建时间和包大小,并导致不必要的复杂性。 另一方面,仅为最低支持的Framework版本提供软件包可能会导致function丢失,例如.NET 4支持多个CLR版本的进程内并行执行,但以前的版本不支持,因此此function如果只提供.NET 3.5的版本(我不确定;我从未使用它并且不知道细节),将会丢失。 如果提供了PCL版本,逻辑很简单我假设:只排除PCL涵盖的版本。