小编Amn*_*oel的帖子

DateTime.TryParseExact()拒绝有效格式

我正在解析ASP.NET WebForms页面中的DateTime值,并且日期字符串一直被DateTime.TryParseExact()方法拒绝,即使它明确匹配提供的格式字符串之一.

它似乎在我家的开发机器上失败但在生产服务器上工作,所以我在考虑涉及本地日期设置,但即使我提供一个IFormatProvider (CultureInfo)对象作为参数,也会发生此错误

这是代码:

DateTime startDate;
string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy",
                    "dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy"};

var errStart = row.FindControl("errStartDate"); //my date format error message
if (!DateTime.TryParseExact(txtStartDate.Text, formats, null, DateTimeStyles.None, out startDate))
{
    errStart.Visible = true; //we get here even with a string like "20/08/2012"
    return false;
}
else
{
    errStart.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)

注意我null FormatProvider在上面给出了一个,但是当我为这个参数提供一个CultureInfo对象 时会出现同样的问题(CultureInfo provider = new CultureInfo("en-US")).

我错过了什么?

.net c# cultureinfo

60
推荐指数
3
解决办法
9万
查看次数

无法加载文件或程序集'System.Web.Mvc'.如何使用正确的参考?

我有一个基于ASP.NET Web表单的应用程序,它也支持MVC 5.我在我的项目中包含了MVC 5 API控制器,我必须将Json从4.5版升级到7.0版.在我启动应用程序后进行这些更改后,出现以下错误:

无法加载文件或程序集"System.Web.Mvc"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我检查了参考文献System.Web.Mvc.在属性对话框中,运行时版本v4.0.30319和版本是5.0.0.0.在web.config中,程序集设置如下:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="AntiXssLibrary" publicKeyToken="d127efab8a9c114f" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>
  <!--<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
  </dependentAssembly>-->
  <dependentAssembly>
    <assemblyIdentity …
Run Code Online (Sandbox Code Playgroud)

.net asp.net asp.net-mvc asp.net-mvc-5

18
推荐指数
3
解决办法
5万
查看次数

SGEN失败:尝试在VS2008中加载格式不正确的程序集

我能够找到几个类似的问题并回答,但没有一个答案或确切条件适用于我的情况.

  1. 我有一个为x64构建的.NET 3.5项目.
  2. 我还有一个x64混合模式参考(也是针对.NET 3.5).
  3. 在Visual Studio 2008中,我创建了一个Web引用,它使SGEN在Release构建期间执行以创建帮助程序DLL.

如果我没有参考mixed-mode DLL,这很好.如果我引用混合模式DLL,我会收到此错误(xxx只是一个占位符):

SGEN:错误:尝试加载格式不正确的程序集:C:\ code\xxx\trunk\xxx\common\xxx\build\winx64\lib\xxx.dll.

这是发出的命令:

C:\ Program Files\Microsoft SDKs\Windows\v6.0A\bin\sgen.exe /assembly:C:\code\xxx\trunk\xxx\xxx\obj\x64\Release\xxx.dll/proxytypes/reference: ..\common\xxx\build\winx64\lib\xxx.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.Install.dll/reference:"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll"/ reference:C:\ Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll/reference:C:\ Windows\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll /reference:C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll/reference:"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll"/ reference:"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.0\System.ServiceModel.dll"/ reference:"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll"/ reference:C:\ Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll

有任何想法吗?

format mixed-mode web-reference sgen visual-studio-2008

15
推荐指数
1
解决办法
1万
查看次数

为数组python中的每个元素添加值

我有这样的数组

a= np.arange(4).reshape(2,2)

array([[0, 1],[2, 3]])
Run Code Online (Sandbox Code Playgroud)

我想为数组中的每个元素添加一个值.我希望我的结果返回4个数组

array([[1, 1],[2, 3]])

array([[0, 2],[2, 3]])

array([[0, 1],[3, 3]])

array([[0, 1],[2, 4]])
Run Code Online (Sandbox Code Playgroud)

python numpy python-2.7

6
推荐指数
1
解决办法
1225
查看次数

如何使用Visual Studio 2017注册"自定义工具"以使其工作?

背景:我们有一个自定义工具,它接受xml输入并生成cs输出.自定义工具需要向 Visual Studio 注册才能使其与该版本的visual studio一起使用.

我们做了什么:我们已经使用Visual Studio 2015 完成了自定义工具注册,该工作正常.但现在问题出在Visual Studio 2017上.

问题:所以在我的研究到目前为止,我发现到Visual Studio的2015年,VS有哪些被允许注册工具直接注册表项,而是从VS 2017年,微软已经取得方式的变化注册表项如何存储(很好看的到了解VS2017中的变化).

如果我打开VS 2017并尝试运行自定义工具,那么我得到错误

在此系统上找不到自定义工具"工具名称".

在此输入图像描述

这是显而易见的,因为自定义工具尚未在VS 2017中注册工作.

我试图跟随这个说要将.bin文件加载到注册表的人,但他也说它禁止启动VS 2017.为了启动VS,我们必须卸载配置单元.研究表明,.bin文件可以根据安装的VS的类型(企业,专业等)在不同的位置.

有没有人这样做过?

TIA

c# registry customtool visual-studio-2017

6
推荐指数
1
解决办法
5491
查看次数

子域 Azure WebApp

这更像是一个普遍的问题。我有一个作为 Azure 应用服务运行的网站。我配置了一个自定义域,以便您可以通过my-site-name.com调用它。随着客户的要求不断增长,每个客户都有特定的需求,我想知道是否可以为每个客户创建一个子域。例如,client1.my-site-name.comclient2.my-site-name.com。是否可以在单个应用服务中完成所有这些操作,或者我是否需要为每个子域设置一个 Azure 应用服务?我的问题背后的原因是,为每个客户提供应用服务会非常昂贵。

subdomain dns azure azure-web-app-service

5
推荐指数
2
解决办法
5213
查看次数

inet_addr函数和前导零

我正在尝试使用该inet_addr函数转换一个字符IP地址,但我认为,因为我传入'inet_addr'函数的IP地址有前导零(192.169.055.075),'inet_addr'函数正在以不同的方式解释它.有关如何删除前导零的任何建议?

谢谢

char IPAddr[20]; //192.169.055.075
ulAddr = inet_addr(IPAddr);
Run Code Online (Sandbox Code Playgroud)

c++ network-protocols

4
推荐指数
1
解决办法
1674
查看次数

使用Apache Commons HttpClient 3.1连接到Java中的安全服务器抛出ValidatorException

我正在尝试使用连接到安全服务器Apache Commons HttpClient 3.1.
问题是每次应用程序连接它抛出一个

sun.security.validator.ValidatorException.

这是堆栈跟踪:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径验证失败:java.security.cert.CertPathValidatorException:subject/issuer name chaining check failed javax.net.ssl.SSLHandshakeException:sun.security.validator. ValidatorException:PKIX路径验证失败:java.security.cert.CertPathValidatorException:主题/发布者名称链接检查在com.sun的com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)失败. net.sssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)位于com.sun.net.ssl的com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187). internal.sssl.Handshaker.fatalSE(Handshaker.java:181)位于com.sun.net.ssl.internal.ssl的com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1035). ClientSandshaker.processMessage(ClientHandshaker.java:124)at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)at com.sun.net.ssl.internal.ssl.Handshaker.proces s_record(Handshaker.java:454)位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)的com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. java:1112)com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506) )org.apache.com上的org.apache.com.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)org.apache.com上的httpMethodBase.exe执行(HttpMethodBase.java:1096)org.apache.commons.httpclient.HttpMethodDirector.执行org.apache.co的org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)中的executeWithRetry(HttpMethodDirector.java:398)mms.httpclient.HttpClient.executeMethod(HttpClient.java:397)atg.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)at balanceschecker.connector.Connector.conn(Connector.java:27)at balanceschecker位于balanceschecker.Main.main的balanceschecker.login.Login.Login(Login.java:87)处于balanceschecker.connector.Connector.Post(Connector.java:111)的.connector.Connector.RawPost(Connector.java:99) Main.java:21)引起:sun.security.validator.ValidatorException:PKIX路径验证失败:java.security.cert.CertPathValidatorException:subject/issuer name chaining check failed at sun.security.validator.PKIXValidator.doValidate(PKIXValidator. java:251)at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:234)at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:158)at sun.security.validator.Validator.validate(Validator) .java:218)在com.sun的com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126).net.sssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)位于com.sun.net.ssl的com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249). internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)... 21更多引起:java.security.cert.CertPathValidatorException:subject/issuer name chaining check failed at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:139)位于sun.security.provider.certpath.PKIXCertPathValidator.doValidate(PKIXCertPathValidator.java:326),位于java.security.cert的sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:178) .certPathValidator.validate(CertPathValidator.java:250)at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:246)... 28更多

下面是我正在使用的代码(编辑和压缩了一下)


installAllTrustManager();

PostMethod post = new PostMethod(server_path);
NameValuePair[] data = new NameValuePair {
   new NameValuePair("Username", username), 
   new NameValuePair("Password", password) 
};
        post.setRequestBody(data);
        post.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new …

java connection

2
推荐指数
1
解决办法
1万
查看次数

Lambda Expression用例和与功能接口的连接

我目前正在学习Java中的Lambda表达式.根据我的理解,它是一个代码块,我们可以传递,以便以后执行.但是当我们想要稍后执行代码时,我无法想到示例.

这有用的各种场景是什么?Lambda Expression和Functional接口之间的联系是什么?

java java-8

2
推荐指数
1
解决办法
849
查看次数

将 sql server 数据库备份到闪存驱动器中

我已经看过并阅读了有关如何在 C 驱动器中备份 sql server 数据库的教程,但我还没有看过或阅读过如何将数据库完全备份到闪存驱动器中。我尝试按照在我的计算机或其他具有 sql server management studio 的计算机中备份数据库的方式来执行此操作,但我想这不一样​​。当我尝试在我的闪存驱动器中进行备份时,出现此错误:

“服务器servername 的备份失败。(Microsoft.SqlServer.SmoExtended)”。它具有附加信息,例如 设备上的卷`G:\Backup\mybackup 不是当前正在处理的媒体集的一部分。确保备份设备加载了正确的媒体”。

当我将备份的数据库从闪存驱动器恢复到具有 sql 管理的不同 PC 时,是否会以相同的方式进行。

这就是我所做的——(我的闪存驱动器在 G 中:)

  1. 在我的闪存驱动器中创建一个文件夹并将其命名为备份
  2. 在 Sql 管理中,我右键单击并选择任务 -> 备份..
  3. 数据库:-> MyDatabase | 备份类型:完整
  4. 在备份集部分,管理自动生成名称:Mydatabase-Full Database Backup | 说明: '空白'
  5. 在目标部分,单选按钮磁盘已启用并已选中(默认)磁带已禁用。我选择了添加按钮,然后选择了备份目标
  6. 在备份目标窗口中,在磁盘上的目标中,单选按钮文件名已启用,选中的备份设备已禁用。我单击省略号,导航到 G: 驱动器并进入我的文件夹备份并输入文件名。

谢谢!

sql-server

1
推荐指数
1
解决办法
3543
查看次数