我有一个在ASP.Net 2.0中开发的网站,它正在抛出错误
"Exception has been thrown by the target of an invocation"
Run Code Online (Sandbox Code Playgroud)
在生产环境中.它没有在开发中抛出这个错误.
源是'mscorlib',堆栈跟踪表示错误
System.RuntimeMethodHandle._InvokeMethodFast.
Run Code Online (Sandbox Code Playgroud)
自从我上次上传到生产以来,我唯一改变的就是我已经开始使用Membership控件(Login,LoginView),并添加了一些存储过程和表等等.成员资格依赖于自定义提供程序I'写了.
任何人都知道为什么会发生这种情况?
我们目前正在从2005年到2010年迁移所有解决方案(这是正确的,我们正在跳过2008年!).我们也在改变我们的文件结构以使其更有意义(一些常见项目将嵌套在特定项目中等).
这一切都意味着参考需要改变!除此之外,我们还将它们全部设置为.NET 4.0.为了实现这一目标,我们在同一解决方案中制作了一个临时"GOD"解决方案,其中包含所有117个项目.
我和一位同事一起这样做,直到大约2小时前,一切都按计划进行.然而,我们遇到了117个项目之一的问题.该项目拒绝在"项目属性"中"显示"它的引用,资源,服务和设置选项卡.
我收到以下确切消息:
无法为目标框架'.NETFramework,Version = v4.0'解析mscorlib.如果未安装目标框架或框架名字对象格式不正确,则会发生这种情况.
现在这很烦人,但情况会变得更糟.我的同事,当从subversion获得相同的解决方案时,CAN实际上可以看到并更改引用和事物.事实上,目前该项目实际上是在他的机器上建造的.他提交了更改,但我无法构建此特定项目,或查看引用.
这导致我得出一个简单的结论,我的客户端必须有所不同,这会造成麻烦!我在网上看到的建议如下:
请参阅:http://connect.microsoft.com/VisualStudio/feedback/details/542789/
我还没有尝试过的唯一一件事就是修复.NET 4.0我怎么会高度怀疑这是问题,因为我们有大约100个其他项目,我可以编辑和构建就好了.C#和VB.NET都有.
我正在研究一位同事在通过Visual Studio 2010运行应用程序时遇到的异常:
System.NullReferenceException was unhandled by user code
Message=Object reference not set to an instance of an object.
Source=mscorlib
StackTrace:
at System.Collections.Generic.GenericEqualityComparer`1.Equals(T x, T y)
at System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(TKey key, TValue& value)
at xxxxxxx.xxxxxxx.xxxxxxx.RepositoryBase`2.GetFromCache(TIdentity id)
Run Code Online (Sandbox Code Playgroud)
使用.NET Reflector,我查看了代码GenericEqualityComparer<T>.Equals(T x, T y),我看不出任何可能的原因NullReferenceException.
//GenericEqualityComparer<T>.Equals(T x, T y) from mscorlib 4.0.30319.269
public override bool Equals(T x, T y)
{
if (x != null)
{
return ((y != null) && x.Equals(y));
}
if (y != null)
{
return false;
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VS08SP1的默认项目系统以显式x64模式调用C#编译(与之不同AnyCpu).当我明确地将模块标记为x64时,我得到一个:
警告CS1607:程序集生成 - 引用程序集"mscorlib.dll"针对不同的处理器
删除它的一种方法是使用/nowarn:1607. 根据我的研究,这样做在实践中没有问题.如果有人能够遇到他们遇到过的现实问题,请随时回答.
但是,这只是感觉不对!所以我使用的另一种方法是做/nostdlib+,然后添加<Reference>一个硬编码<HintPath>到显式64位mscorlib:
<Reference Include="mscorlib">
<HintPath>$(windir)\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)
这可行并且可能更好(除非有人关心指出为什么以前的方法更好),但是有人可以确认这是一个合适的事情,希望引用一些具有权威性的东西吗?
我遇到过一种情况,即直接在XAML中指定浮点值并将其用作我的几个UI部件的资源非常有用.在搜索之后,我发现了大量有关如何在XAML中包含正确的程序集(mscorlib)的信息,因此您可以做到这一点.
不幸的是,我在一个实例中遇到异常,我尝试这样做.以下是重新创建情况的以下XAML:
<Window x:Class="davidtestapp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<core:Double x:Key="MyDouble">120</core:Double>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{StaticResource MyDouble}" />
<ColumnDefinition Width="40" />
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="Red" />
<Rectangle Grid.Column="1" Fill="Green" />
<Rectangle Grid.Column="2" Fill="Blue" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
当我尝试编译并运行它时,我得到一个XamlParseException,它向我说"'120'不是属性'Width'的有效值".
但是"Width"属性是双重的,为什么我不能使用定义的StaticResource来设置它?有谁知道如何做到这一点?
我试着去谷歌.Microsoft Connect不接受Service Bus的错误.Azure门户发送到MS论坛或StackOverflow - 所以我在这里.
问题实际上在标题中:如何报告服务总线的错误?
(不是Azure版本,而是您在本地安装的版本)
Microsoft.Cloud.ServiceBus.dll有参考Microsoft.Cloud.Common.AzureStorage.dll.它使用该程序集中的一种类型 - 即StorageAccountInfo.它是配置部分(即NamespacePolicyDataStoreFactorySection.Parameters.BlobStorageAccountInfo)的一部分,但显然只在Azure环境中有意义,并且从未在内部部署场景中使用过.Microsoft.Cloud.Common.AzureStorage.dll服务总线1.1实际上没有附带.我试图在各种SDK和Azure工具包,样本和诸如此类(我有很多)以及在线等方面找到它 - 并找到有关该DLL的zippo信息或从何处获取它.这是我发现它的唯一地方.mscorlib.dllv4.6.7.0(与VS2015 CTP5一起提供)与之前的版本4.0.30319.34014相比略有变化System.Attribute.InternalGetCustomAttributes(PropertyInfo,Type,bool),更确切地说,这一行.这条线在以前的版本中不存在mscorlib,一切都很好.但现在它确实存在,导致属性类型被触及,这导致加载DLL失败,因为DLL不存在.NamespacePolicyDataStoreFactorySection工作原理如下: ConfigurationManager.GetSection ->
... ->
BaseConfigurationRecord.GetSectionRecursive ->
... ->
BaseConfigurationRecord.CallCreateSection ->
MgmtConfigurationRecord.CreateSection ->
ConfigurationElement.Reset ->
ConfigurationElement.get_Properties ->
ConfigurationElement.PropertiesFromType ->
ConfigurationElement.CreatePropertyBagFromType ->
Attribute.GetCustomAttribute (for property BlobStorageAccountInfo of type StorageAccountInfo) ->
... ->
Attribute.InternalGetCustomAttributes(PropertyInfo) ->
Attributes.GetIndexParameterTypes ->
RuntimePropertyInfo.GetIndexParameters ->
... -> …Run Code Online (Sandbox Code Playgroud) 考虑以下程序,with all of HttpRequestMessage, and HttpResponseMessage, and HttpClient disposed properly.收集后最终总共会有大约50MB的内存.为请求数添加零,未回收的内存加倍.
class Program
{
static void Main(string[] args)
{
var client = new HttpClient {
BaseAddress = new Uri("http://localhost:5000/")};
var t = Task.Run(async () =>
{
var resps = new List<Task<HttpResponseMessage>>();
var postProcessing = new List<Task>();
for (int i = 0; i < 10000; i++)
{
Console.WriteLine("Firing..");
var req = new HttpRequestMessage(HttpMethod.Get,
"test/delay/5");
var tsk = client.SendAsync(req);
resps.Add(tsk);
postProcessing.Add(tsk.ContinueWith(async ts =>
{
req.Dispose();
var resp = ts.Result;
var content …Run Code Online (Sandbox Code Playgroud) 我最近正在调查构建失败,并看到有关程序集之间冲突的警告.我挖得更深,MSBuild告诉我这个:
"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"和"mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes"之间存在冲突.选择"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089",因为它是主要的,"mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes"不是.
我的解决方案包含几个控制台应用程序,许多类库和ASP.NET应用程序.我们以.NET 4.5.2为基础.
我应该担心吗?
我在Visual Studio C#中遇到了一个非常奇怪的问题,当我按下Start或{F5}键运行我的数据库应用程序时,我收到"Source not available"错误,
"此模块的调试信息中缺少源信息""您可以在"反汇编"窗口中查看反汇编.要始终以反汇编方式查看缺少的源文件,请更改"选项"对话框中的设置.
我做了干净的解决方案,然后重建它,但它仍然存在,我附上图片和调试>>调用堆栈窗口,如果有人遇到这种问题,我将非常感谢他们的帮助.
供你参考:
这纯粹是一个数据库项目,我使用Visual Studio C#.net和MS SQL Server 2008R2,没有别的.
我知道它发生通常当有调试问题,建立后缺少信息等
如果你真的放大你会看到我们正在看mscorlib,我真的不知道如何处理这样的错误,
谢谢,

.net debugging mscorlib visual-studio-debugging visual-studio-2012
我以某种方式将我的项目带到了一个状态,在这个状态下,Visual Studio 2013无法用一个荒谬的错误编译它:
类型'System.Collections.Generic.Dictionary`2'在未引用的程序集中定义.您必须添加对程序集'System.Collections,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用.
首先,没有这样的组装,它不存在.其次,Dictionary<TKey, TValue>定义在mscorlib.dll,当然默认引用.Resharper(有自己的代码分析引擎)报告解决方案应该正常编译.
我不知道地球上会发生什么,因为我的最新变化与所谓的错误地方毫无关系.该行引用了一些标准的LINQ函数(GroupBy和ToDictionary),它可以工作数月而不需要任何更改.不幸的是,我无法创建任何MRE:显然,这个错误只出现在我的巨大解决方案的上下文中,并且只有在可能无关的地方进行了一些特定的更改.
这是我尝试过的,它不起作用:
有没有人见过这样的怪癖?