草庐IT

is-there-an-environment-variable-

全部标签

c# - Environment.CurrentDirectory 在运行已安装的应用程序时产生意外结果

背景:我为我的应用构建了一个安装程序,我所有的dll和内容文件都被正确地复制到C:\ProgramFiles\MyCompany\MyApp目录。当我从VisualStudio运行我的应用程序时,一切正常。但是,当我运行我的应用程序的已安装版本时,我收到了DirectoryNotFoundException。问题似乎出在Environment.CurrentDirectory上。我期望Environment.CurrentDirectory是..."C:\\ProgramFiles\\MyCompany\\MyApp"...但实际上..."C:\\DocumentsandSetting

c# - 使用 FtpWebRequest 上传期间 "Requested URI is invalid"

我正在尝试将文件上传到FTP服务器上的目录。我将此方法与FtpWebRequest一起使用。我想将一个文件上传到该用户的主目录,但我总是收到以下错误消息:TherequestedURIisinvalidforthisFTPcommand.有什么问题?我试过关闭被动模式,但还是一样。staticvoidFtpUpload(){//Gettheobjectusedtocommunicatewiththeserver.FtpWebRequestrequest=(FtpWebRequest)WebRequest.Create("ftp://12.22.44.45");request.Metho

c# - 为什么 "Specified cast is not valid"错误*不*暴露根本原因?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。刚刚偶然发现了一个简单的错误,它提示了一个有趣的问题。环境:VS2010、NET.4、C#。从SQL存储过程获取返回值产生“指定的转换无效”异常:cm.Parameters.Add("@si",SqlDbType.SmallInt).Direction=ParameterDirection.ReturnValue;..cm.ExecuteNonQuery

c# - .NET 4.5 中的代码契约 + 异步 : "The method or operation is not implemented"

在Windows7x64上的VS2012中使用CodeContracts1.4.51019.0时,我从ccrewrite收到以下编译错误:“方法或操作未实现."这似乎是由属性访问器的组合和使用缺少内部await的async方法引起的。复制步骤:创建一个启用“完整”运行时契约检查的新类库:namespaceCodeContractsAsyncBug{usingSystem.Threading.Tasks;publicclassService{//Offendingmethod!publicasyncTaskProcessAsync(Entityentity){varflag=entity

c# - Azure 网站不断抛出错误 "An attempt was made to access a socket in a way forbidden by its access permissions"

我有一个网站在专用的Azure计划中作为Web应用程序运行。它连接到Redis、SQLAzure和MongoDB后端。该网站现在已经运行良好数周,然后没有任何新代码,我现在收到很多套接字异常,如下所示。试图以访问权限禁止的方式访问套接字。网站在连接到Redis、SQLAzure和MongoDB时间歇性地出现错误,这毫无意义。我更改了网站的定价层,这会将网站从一个虚拟机转移到幕后的另一个虚拟机,错误消失了几天又回来了。我刚刚将站点从S3更改为S2(使其更小),它们已经消失,但我不知道会持续多久。我该如何解决?Azure是否限制站点的套接字数量?Azure中的某个站点是否存在某些可能导致此

c# - "Object reference not set to an instance of an object": why can't . NET 显示更多细节?

“对象引用未设置到对象的实例”为什么异常不显示对象引用字段的名称,或者至少不显示它的类型?这可能是.NET中最常见的运行时错误之一。尽管System.Exception有堆栈跟踪,但没有其他有用的详细信息。在一年的时间里,我花了几个小时筛选堆栈跟踪(通常是在我没有编写的代码中),希望有一个来自“.pdb”文件的行号,然后在代码中找到该行,甚至那么该行中的哪个引用为空通常并不明显。拥有引用字段的名称会非常方便。如果System.ArgumentNullException实例可以显示方法参数的名称(“值不能为空。参数名称:值”),那么System.NullReferenceExceptio

c# - 当 SMTP 服务器具有有效证书时获取 "The remote certificate is invalid according to the validation procedure"

这似乎是一个常见错误,但虽然我找到了解决方法(见下文),但我无法确定我首先遇到它的原因。我正在将SMTP功能写入我们的应用程序,并且我正在尝试将SSL功能添加到我们已有的工作SMTP中。我正在使用我们公司的MSExchange服务器进行测试,特别是在该服务器上启用的网络邮件选项。通过不验证我的连接并匿名发送,我可以通过我的代码在内部发送电子邮件,但是由于我们公司的政策,这些电子邮件不会转发到外部电子邮件地址。除此之外,我正在为我们的客户编程,他们并不都允许开放中继和/或匿名连接。我相信Exchange服务器正在使用显式SSL/TLS。我已经尝试在端口25上通过telnet连接到服务器的

c# - is-operator 的最佳用法是什么

is运算符的好的用法是什么?下面的转换构造不是推荐的方法,几乎​​所有文档都更喜欢带有null检查的as-operator。if(objisSomeClass){SomeClasssome=(SomeClass)obj;....}当然这是一个(非常小的)性能提升,有些甚至提到了胎面安全性。是的,这是真的......那么,为什么我们要有is运算符?“带有空检查的运算符(operator)”在哪里不起作用或不是可行的方法?使用is运算符限制声明的范围是否有优势? 最佳答案 as不适用于不可为null的struct:objecto=123

c# - "An assembly with the same simple name has already been imported"没有重复引用的错误

我收到以下错误:errorCS1704:Anassemblywiththesamesimplename'Interop.xxx.dll,Version=1.0.0.0,Culture=neutral,PublicKeyToken=nullhasalreadybeenimported.Tryremovingoneofthereferencesorsignthemtoenableside-by-side.我所看到的一切都表明我引用了两个同名的程序集,我需要删除其中一个。但是,我已经检查过并且只引用了一次。这也仅在我使用msbuild从我的开发箱上的命令行构建时发生。如果我通过VisualS

c# - "Enum as immutable rich-object": is this an anti-pattern?

我经常看到并使用带有附加属性的枚举来做一些基本的事情,例如提供显示名称或描述:publicenumMovement{[DisplayName("TurnedRight")]TurnedRight,[DisplayName("TurnedLeft")][Description("Execute90degreeturntotheleft")]TurnedLeft,//...}并且有一组扩展方法来支持属性:publicstaticstringGetDisplayName(thisMovementmovement){...}publicstaticMovementGetNextTurn(thi