当我尝试在 Visual Studio 2010 中构建 ASP.NET 4 项目时,出现以下错误:“无法加载文件或程序集 'file:///C:\Dev\project\trunk\bin\Elmah.dll'或其依赖项之一。不支持操作。(HRESULT 异常:0x80131515)”。
我已经验证该 dll 确实存在,并且已正确复制到 bin 文件夹。我还尝试删除然后重新添加对项目的引用。
仅当我将解决方案配置切换为“发布”时,构建才会失败。当解决方案配置设置为“调试”时,它不会失败。
两种配置之间的唯一区别(据我所知)显示在以下 Web.config 转换 Web.Release.config 中:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="SqlServer" connectionString="" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<customErrors mode="On" xdt:Transform="Replace">
<error statusCode="404" redirect="lost.htm" />
<error statusCode="500" redirect="uhoh.htm" />
</customErrors>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我尝试使用 Fusion Log Viewer 来追踪程序集绑定问题,但看起来它正在正确查找并加载程序集。这是日志:
*** Assembly Binder Log Entry (6/8/2010 @ 10:01:54 AM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly …Run Code Online (Sandbox Code Playgroud) 更新1:我还没弄清楚发生了什么,但这似乎与我的项目有关.在创建一个简单的测试页面后,我能够验证getJSON实际上是否确实返回了一个XHR对象.
更新2:哇,这很奇怪.在做了更多测试之后,我发现如果我指定"callback =?" URL字符串中的参数XHR对象未正确返回.但是,如果我没有指定"callback =?" 参数,正确返回XHR对象.问题是,我正在调用JSONP服务,所以"回调=?" 参数是必需的.
关于为什么会出现这种情况的任何想法?
更新3:这里有一些独立的代码示例来说明问题.在第一个示例中,未定义console.log(请求).当我在第二个代码示例中对回调参数进行硬编码时,console.log(request)是XHR对象.
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var request = $.getJSON('http://localhost?callback=?', function(data) {
});
console.log(request);
});
</script>
</body>
</html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var request = $.getJSON('http://localhost?callback=callback', function(data) {
});
console.log(request);
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
更新4:根据下面的regilero评论,我切换到使用$ .ajax方法并通过数据对象传递参数.以下是请求的完整代码:
var request = $.ajax({
data: {
f: 'json',
geometry: '{x:44.203642291681845,y:-95.79085806500001}',
geometryType: 'esriGeometryPoint',
imageDisplay: '727,500,96',
layers: 'all',
mapExtent: '-179.462733065,16.116769346042226,-51.669764315000016,71.57609342040729',
returnGeometry: false,
tolerance: 10
}, …Run Code Online (Sandbox Code Playgroud) 我不是CSS专家,特别是当它定位时,我希望这个很容易解决.
这是我简化的HTML:
<body>
<div style="height:100%;width:100%;">
<div id="map" style="bottom:250px;height:100%;overflow:hidden;position:absolute;width:100%;">
<!-- The controls div does not render correctly. -->
<div id="controls" style="left:10px;position:absolute;top:10px;">
</div>
<!-- The legend and logos divs do render correctly. -->
<div id="legend" style="bottom:45px;left:10px;position:absolute;">
</div>
<div id="logos" style="bottom:5px;left:10px;position:absolute;">
</div>
</div>
<div id="search" style="bottom:0;height:250px;position:absolute;width:100%;">
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
"controls"div无法正确呈现.事实上,它根本不显示.如果我拿出"顶部:10px;" 样式,并将其替换为"bottom:400px;",它确实正确呈现.但这不是我想要的,因为如果用户调整浏览器窗口大小,"map"div的高度会被调整.我也不想使用JavaScript来定位div.
"图例"和"徽标"div都正确呈现.
我在Firefox中进行测试.
我一直在努力让我们的一张网络地图以一种不错的方式打印出来,现在已经过了好几天了.我八天前发布了这个问题,但后来解决了那里概述的问题.现在我正在处理其他几个我似乎无法弄清楚的问题.
首先,这里是我正在尝试打印的页面的链接:http://maps.nps.gov/maps/rich/footstepsofhistory.
我已经尝试了很多不同的组合来尝试处理浏览器差异和过去几天的缺陷,我确信我提出的解决方案远非完美.也就是说,目前部署的解决方案产生了迄今为止我能够产生的最佳结果.
关于这一点最令人沮丧的部分是我不是在寻找任何复杂的东西.我只想要我的打印样式表(我已经标记了所照顾的项目):
70px顶部的高标题.无论打印尺寸有多大,都应调整大小.15px,从底部向上.以下是仍然存在的问题:
760px.我更喜欢使用height:100%;我这样做,因为它似乎是阻止地图在某些浏览器中溢出到第二页的唯一方法.760px点击点之前打印时,地图"尊重" 硬编码高度.然而,在点击一个点之后,地图在某些浏览器中打印出页面高度的约50%.这一个我无法解释.浏览器测试:
我已经考虑过强迫Internet Explorer进入IE7模式作为一种解决方法,但似乎我所看到的所有问题都应该是可以解决的,而且在使用X-UA-Compatibile标签时我的口味很差.这也只能解决剩下的两个问题之一.当然有更好的方法!?!?!?
最后,我知道我可以创建页面的PDF,但我真的想尽可能避免这种情况.
感谢您提供的任何帮助,如果需要,我可以在此处发布更多信息.
我正在尝试将平铺矢量数据支持到我们的一些Google Maps v3 Web地图中,并且我很难弄清楚如何找出当前地图视口中可见的256 x 256个切片.我知道如果你像这里创建一个google.maps.ImageMapType,可以获得解决这个问题所需的信息:使用ImageMapType,Tile边界框替换Google Maps v3中的GTileLayer?,但我显然没有这样做来引入传统的预渲染地图图块.
所以,这是一个两部分的问题: