C# FtpWebRequest文件版本检查
我正在尝试使用C#ftpwebrequest下载文件.除非下载站点中的文件版本大于当前文件版本,否则我不想下载.如何在远程服务器上验证/获取文件版本? 解决方案 只有.exe和.dll文件具有版本信息,可以通过使用 fileversionInfo .. ::.getVersionInfo().文本文件没有版本信息. 另外,要阅读此版本信息,您必须下载文件 到临时位置. 另外,您可以使用文件的LastModifiedDate检查是否更多 最近的.这将适用于任何类型的文件,并且可以直接在FTP上完成 网站w/o下载文件: string requestUriString = BuildRequestUriString(ServerName, Path, fileName); FtpWebRequest aRequest = (FtpWebRequest) WebRequest.Create(requestUriString) aRequest.Method = WebRe
18 2024-04-26
编程技术问答社区
如何确定x64机器上的Silverlight版本?
根据最新的Silverlight部署指南,我可以确定 安装的Silverlight版本 - Quarying:" HKLM \ Software \ Microsoft \ Silverlight \ Silverlight \版本"注册表密钥 这在我的32位开发机上效果很好.但是在几台64个机器上,HKLM \ Software \ Microsoft \ Silverlight不存在. x64机器上的哪里? 解决方案 查看hklm \ software \ wow6432node,32位程序可以看到的注册表键的房屋. 其他解决方案 搜索我的注册表,我发现了: hkey_local_machine \ software \ wow6432node \ microsoft \ silverlight 任何人都可以确认这是一个安全的外观吗? 其他解决方案 我知道这已经回答了,但是您可以使用.NET 4使用'igristryKey',这
12 2024-04-26
编程技术问答社区
NU1605 在尝试发布项目时检测到软件包降级错误
我正在尝试发布我的项目,因为我将实现该项目.但是当我尝试发布我的项目时,我会得到NU1605 Detected package downgrade: Microsoft.EntityFrameworkCore from 2.1.14 to 2.1.1. Reference the package directly from the project to select a different version. MyTravelBlogs -> Microsoft.AspNetCore.App 2.1.25 -> Microsoft.EntityFrameworkCore (>= 2.1.14 && Microsoft.EntityFrameworkCore (>= 2.1.1) 的同样错误 NU1605 Detected package downgrade: Microsoft.EntityFrameworkCore.Tools
14 2024-04-26
编程技术问答社区
加载同一个程序集两次,但版本不同
我有一个称为asm.dll的组件. 此组件具有1.0.0.0版本( insemblyInfo.cs )) 然后,我需要在该组件中进行一些代码修改(仍然是Asm.dll),将版本提高到2.0.0.0并再次构建. 现在,我有两个名为Asm.dll的文件,这些文件在某些​​代码修改和其版本号方面有所不同. 在运行时我如何加载这两个文件? 附录: 现在我正在尝试以下内容: var asm1 = Assembly.LoadFrom("dir1\asm.dll"); var asm2 = Assembly.LoadFrom("dir2\asm.dll"); var types1 = asm1.GetTypes(); var types2 = asm2.GetTypes(); Type type1 = types1.First(t => t.Name.Equals("myClassIWantToInstantiate")); Type type
50 2024-04-23
编程技术问答社区
将注册表中的版本号转换为System.Version?
我正在从注册表中检索一个版本号: rKey.GetValue("Version") 现在我想将其转换为System.Version对象. 我该怎么做? 解决方案 假设这是字符串... string versionText = (string) rKey.GetValue("Version"); Version version = new Version(versionText); 其他解决方案 假设这是一个reg_dword(通常是卸载注册表键的一部分)... 根据msdn 此键的"源自 它描述了3个字段:专业,次要和构建. dword值(在十六进制中)可以通过以下方式分解: 0xmmmmbbbb 其中mm =主要版本,mm =次要版本,而bbbb =构建. 这是我的 mcve 做到这一点: mainwindow:
12 2024-04-23
编程技术问答社区
在C#中使用一个特定版本的dll
我有一个项目,我想使用一些特定版本的dll. GAC包含几个版本的DLL(New&Old),我想在运行程序时使用旧版本. 问题是,最新的DLL总是从GAC中获取. 您是否知道是否有办法: 强制使用运行文件夹中的dll(我在解决方案中引用的文件,在调试中正常工作). 强制使用GAC的旧版本的使用. 谢谢! 解决方案 您可以在app.config或web.config中使用binding redirect runtime node:
12 2024-04-22
编程技术问答社区
如何使用 Powershell 正确显示 "已修改时间 "和 "已修改作者 "字段
我有一个脚本,该脚本向CSV输出所有列表和库中的所有项目/文件.此外,它显示项目/文件的当前版本和先前版本.这还显示了哪些用户修改了每个版本的文件,并显示每个版本修改文件的日期/时间: function Get-DocInventory([string]$siteUrl) { $web = Get-SPWeb "http://contoso.com/sites/Depts3/HBG" foreach ($list in $web.Lists) { foreach ($item in $list.Items) { foreach($version in $item.Versions){ $data = @{ "Version" = $version.VersionLabel "List Name" = $list.Title "Created By" = $item["Author"] "Created Date" = ($item["Created"] -as [datetim
12 2024-04-22
编程技术问答社区
如何对使用 Linux 版 GCC 创建的共享对象文件进行版本控制
如何使用GCC创建的Linux 创建的共享对象文件 请用几个示例解释 解决方案 您的ld_library_path中可以存在多个版本的共享库. 例如: /usr/lib/libform.so -> libform.so.5 /usr/lib/libform.so.5 -> libform.so.5.9 /usr/lib/libform.so.5.9 /usr/lib/libform.so.6 -> libform.so.6.0 /usr/lib/libform.so.6.0 上面的示例中存在符号链接,因为在链接时,如果您只是提及-lform,它将自动根据Symlink为您选择正确的库. 当二进制文件与一组共享库链接时,它将请求该库的特定版本.可以使用ldd 来弄清二进制的库列表. $ ldd /usr/bin/python linux-vdso.so.1 (0x00007ffffa5fe000) libpython2.7.so.1.0
14 2024-04-22
编程技术问答社区
在 ``setup.py'' 中指定 Python 2.7+ 和 Python 3.xx (任意);
我的" setup.py"当前包括以下语句: setup(... classifiers = [ ... "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5",
14 2024-04-22
编程技术问答社区
C#组装重定向
我正在使用oracle.dataaccess,并且需要访问旧数据库,这意味着我需要使用此组件的较旧版本.新的和旧的组件都在GAC中,但我似乎无法获得使用旧版本的应用程序.这是我的.config文件:
18 2024-04-21
编程技术问答社区
获取Office插件发布版本
我有一个Outlook addin,我需要获取发布版本. 我不是是指汇编版本,文件版本或Office版本. (这就是我发现的). 一些C#代码非常好! 黑色XML来自项目文件. 解决方案 很晚,但可能会帮助别人:) 与我已部署的VSTO Outlook Addin一起使用(在调试模式下无法使用). 在 if (ApplicationDeployment.IsNetworkDeployed) { ApplicationDeployment applicationDeployment = ApplicationDeployment.CurrentDeployment; Version version = applicationDeployment.CurrentVersion; return String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.
18 2024-04-21
编程技术问答社区
在C#代码中递增版本号
我正在数据库中维护文档版本.假设我想更新或增加版本号.我已经尝试过,但它显示了属性仅读取? string _versionDB = "1.0.0.0" var version = new Version(_versionDB); version.MajorRevision = version.Minor + 1; //error it says read only 请任何人阐述我的正确方法吗? 解决方案 您可以创建一个扩展方法来为您执行加法.仍然需要自定义代码;但是,如果您在许多拥有这样的辅助方法的地方这样做可能很有用.以下是一些这样的功能,可能会有所帮助. public static class VersionExtension { public static Version IncrementRevision(this Version version) { return AddVersion(version, 0, 0, 0, 1)
14 2024-04-21
编程技术问答社区
从.exe中获取文件描述(程序名)。
我正在为我在Eclipse的开发工作(带Java)开发一个活动跟踪器.现在,我有了程序的路径以及我在其中花费的持续时间. 例如:7min C:\Program Files (x86)\Internet Explorer\iexplore.exe和 10min C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE 我现在想知道程序的名称.在C#中,我得到这样的: System.Diagnostics.FileVersionInfo versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(file); return (versionInfo.FileDescription == string.Empty) ? null : versionInfo.FileDescription; 不幸的是,我在Java中没有发现这种方式,我不确定是否可能?
10 2024-04-21
编程技术问答社区
最佳实践以及如何在客户端的C#包装器中支持不同版本的REST APIs
我已经写了一个C#包装器,以支持我们公司项目的REST API.但是,这些API现在正在发生变化 - 根据URL(可能在URL中介绍版本号),并且它期望并返回的数据对象. 我想知道在我的C#包装器中支持不同版本的REST API的最佳实践. 以及我应该如何做 - 就代码设计和类定义而言 - 以便一个包装器可以与不同版本的API无缝工作 - 并且也应该是可扩展的 - 因此,将来的任何较新版本的API都可以很容易支持. 我写的C#包装器正在消费我们的Web服务API. 我已经在使用RestSharp Client在C#包装器中使用我们的Web服务API. 解决方案 您的要求有微妙的怪异.让我重申您所说的内容: 1)您的组织中有多个同一服务的版本.也许它们像鲍勃的建议一样建立,/当前/api .../v1/api .../v2/api ...或其他一些模式. 2)您希望一个C#库知道每个不同版本. 第二部分是奇怪的.通常,客户端库仅针对特定版本.确保
10 2024-04-20
编程技术问答社区
XmlSerializer是否支持属性名称的改变(版本容忍度)。
我有 public bool Included { get; set; } 我想更改为: public bool IsIncluded { get; set; } 我想具有向后兼容性.我只想在代码中定义的不包括,但能够读取属性"包括"的旧XML. XMLSerialializer是否支持它? 如何? 注意:我尝试没有成功的尝试...(不值得注意) public bool IsIncluded { get; set; } [Obsolete] public bool Included { set { IsIncluded = value; } get { return IsIncluded; } } 更新我只想补充一点,我更喜欢我的解决方案,因为我希望我的XML变得不包含,这对我来说更合适.如我所做的那样(下面的解决方案),可以使我更改XML,但保持以前的版本正常工作.从长
10 2024-04-20
编程技术问答社区
如何在.net 3.5中把字符串转换成版本?
我想将3.5中创建的软件版本与旧版本进行比较.如果我尝试比较4.0中的版本,那么使用Version.Parse很容易,但是在较早版本中,此功能不存在.我尝试通过使用字符串比较来比较它,但仍然无法获得所需的输出,因为字符串比较不允许我与次要版本或主要版本进行比较.预先感谢. 解决方案 我遇到了一个类似的问题 - 我不得不分析并对构建数字进行排序,以便可以按降序向用户显示它们.我最终写了自己的班级来包装构建数字的部分,并实现了可观的分类.最终还使大于运算符和Equals方法的超载超载.我认为它具有版本类的大部分功能,除了我从未使用过Majorrevision和Minor Revision. 实际上,您可能可以将其重命名为"版本",并像使用"真实"类一样使用它. 这是代码: public class BuildNumber : IComparable { public int Major { get; private set; } public int
12 2024-04-19
编程技术问答社区
一个C#程序怎么能使用任何版本的C++ dll?
我们正在创建用C ++编写的DLL,并提供对某些硬件的访问.我们还有一个使用此dll的C#程序. 我们对版本有问题.确实,运行C#程序时,它绝对想使用编译时使用的精确的C ++ DLL版本. IE.如果使用C ++ DLL 1.2.3.4编译了C#程序,则该程序将拒绝使用C ++ DLL 1.2.3.5. 我想指示C#程序使用任何C ++ DLL,其中1.2个版本. 我在哪里可以在C#项目中进行配置? 这个问题已被 解决方案 C ++中没有任何花哨的东西.从技术上讲,使用并排清单允许这样做,但是您会知道这一点,因为您将在C#程序的清单中键入版本编号. 更有可能的解释是您实际创建了C ++/CLI组件.许多程序员将C ++/CLI与C ++混淆.简单错误,因为该语言允许使用本机C ++代码.但是它实际上将其编译到混合模式汇编中,该组件包含IL和本机代码.当CLR加载它时,会出现正常的CLR版本检查,仅对精确版本匹配感到满意.强大的dll地狱对准. 和普
10 2024-04-19
编程技术问答社区
无法从我的Silverlight应用程序中调用Assembly.GetName()
我想在我的应用程序中显示我的应用程序编号,最简单的方法是使用汇编版本号. var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var name = assembly.GetName(); return String.Format("Version {0}.{1}", name.Version.Major, name.Version.Minor); 我可以在没有问题的情况下获得执行组装,但是GetName()的呼叫与此消息返回MethodAccessException 尝试通过安全透明方法'mainpage..ctor()'访问安全方法'system.reflection.sembly.getName()'失败. 为什么会发生这种情况,我可以做什么,如果没有,还有其他方法可以检索汇编版本? 解决方案 gassebly.getName用SecurityCriticalAttribut
8 2024-04-19
编程技术问答社区
用自动递增的文件版本固定汇编版本?
我正在尝试找到一种更有意义的方法来处理我的应用程序的版本控制,我遇到了这本KB文章 http://support.microsoft.com/kb/kb/556041 基本上,建议修复汇编版本,并为每个构建提供文件版本.现在,这对我来说很有意义,但是对于我的生命,我似乎无法实施它. 以下摘要自动增量既汇编版本and fileversion. [assembly: AssemblyVersion("1.0.*")] 虽然下一个似乎设置了1.0.0.0的固定汇编版本和1.0.*的固定文件版本. [assembly: AssemblyVersion("1.0")] [assembly: AssemblyFileVersion("1.0.*")] 顺便说一句,现在的详细信息选项卡中的产品版本也读取1.0.*.现在,我可以在文件属性中修复产品版本... [assembly: AssemblyInformationalVersion("1.0")] ,但这
6 2024-04-18
编程技术问答社区
我如何在二进制文件上盖章为文件列表
我正在使用我可以看到自动生成的日期/时间的版本号被正确盖章为汇编,并且可以在运行时阅读它. 问题:如何获得相同的自动生成的日期基于日期时间的版本编号,标记为文件版本,以便我可以右键单击Windows Explorer中的汇编,并在详细信息选项卡下查看"文件版本" 我明确地看到标记版本编号(例如1.2.3.4)的效果很好,但与自动生成的一个 不正确 我不使用assemblyInfo.cs,并且想要在.csproj 中设置的属性 我正在使用Dotnet CLI使用以下CSPROJ进行构建: WinExe netcoreapp3.1 true
26 2024-04-18
编程技术问答社区