在任何人关闭这篇文章之前,请注意这不是linq或其他数据源的问题,我看过其他的stackoverflow帖子,没有一个是相同的。
这就是我的问题:

它的应用程序ASP.net极其简单,后面没有任何花哨的东西,就像你从下面的代码中看到的那样:
default.aspx代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%=returVar%>Default.apsx.cs
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public string returVar;
protected void Page_Load(object sender, EventArgs e)
{
string n = String.Format("{0}", Request.Form["test"]);
//below we will place the code for ODP.net once the DB connectivity is resolved
if (n.Length == 16)
{
returVar = "Found";
}
else
{
returVar = "Not found";
}
}//Page_Load
}最后是web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false"/>
</system.web>
</configuration>我的开发机器是:Win32 xp visual studio 2010,服务器运行的是Win64bit2008 R2和IIS7.5.
那么,当我在我的桌面上运行这段代码时,为什么会出现这个错误呢?它就像是通过firefox使用http的护身符,如下所示:
http://localhost:3117/Default.aspx?test=0998989765432345
完全相同的代码与附加屏幕截图失败,谁能告诉我为什么请提出解决方案。我尝试从解决方案资源管理器中包含我所有的动态链接库到发行版,即解决方案资源管理器>参考> system.core,system.data等。>全部设置为copy local = true。
还是不走运。
请注意,我不能在服务器上安装任何额外的组件,我必须部署的任何东西都必须是应用程序的一部分。
发布于 2012-02-07 19:47:05
如果其他人遇到这种情况,最简单的解决方案,下面是我如何实现的结果
加载Visual studio 2010后打开它
打开资源管理器文件,转到C:\Program -> \Reference Assemblies\Microsoft\Framework.NETFramework\v4.0
将所需的System.ComponentModel.DataAnnotations.dll复制到您的项目"References“文件夹中,选择该引用,并在属性下将"copy local”设置为true,一旦发布,它将位于您的bin文件夹中,并且对任何服务器(无论是x32还是x64 )都不会产生任何影响。
希望能对其他人有所帮助。
发布于 2012-02-07 01:57:22
您是否只安装了.NET 4.0的客户端配置文件版本?您可能需要完整版本。
https://stackoverflow.com/questions/9164717
复制相似问题