标签: mscorlib

"调用目标引发了异常"错误(mscorlib)

我有一个在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'写了.

任何人都知道为什么会发生这种情况?

asp.net exception mscorlib

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

Visual Studio 2010:无法解析目标框架".NETFramework,Version = v4.0"的mscorlib

我们目前正在从2005年到2010年迁移所有解决方案(这是正确的,我们正在跳过2008年!).我们也在改变我们的文件结构以使其更有意义(一些常见项目将嵌套在特定项目中等).

这一切都意味着参考需要改变!除此之外,我们还将它们全部设置为.NET 4.0.为了实现这一目标,我们在同一解决方案中制作了一个临时"GOD"解决方案,其中包含所有117个项目.

我和一位同事一起这样做,直到大约2小时前,一切都按计划进行.然而,我们遇到了117个项目之一的问题.该项目拒绝在"项目属性"中"显示"它的引用,资源,服务和设置选项卡.

我收到以下确切消息:

无法为目标框架'.NETFramework,Version = v4.0'解析mscorlib.如果未安装目标框架或框架名字对象格式不正确,则会发生这种情况.

现在这很烦人,但情况会变得更糟.我的同事,当从subversion获得相同的解决方案时,CAN实际上可以看到并更改引用和事物.事实上,目前该项目实际上是在他的机器上建造的.他提交了更改,但我无法构建此特定项目,或查看引用.

这导致我得出一个简单的结论,我的客户端必须有所不同,这会造成麻烦!我在网上看到的建议如下:

  • 安装了多个.NET4.0版本(我的客户端不是这种情况)
  • 未安装.NET v3.5; v4.0正在尝试构建v3.5(我的客户端安装了3.5)
  • 注册密钥:OnlyUseLatestCLR已设置并且正在搞砸了!(扫描我的注册表,这个键在任何地方都没有!)

请参阅:http://connect.microsoft.com/VisualStudio/feedback/details/542789/

我还没有尝试过的唯一一件事就是修复.NET 4.0我怎么会高度怀疑这是问题,因为我们有大约100个其他项目,我可以编辑和构建就好了.C#和VB.NET都有.

.net c# mscorlib visual-studio

44
推荐指数
4
解决办法
9万
查看次数

不可能的NullReferenceException?

我正在研究一位同事在通过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)

c# mscorlib nullreferenceexception

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

MSBUILD/csc:处理x64 mscorlib警告的最简洁方法1607

我正在尝试使用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)

这可行并且可能更好(除非有人关心指出为什么以前的方法更好),但是有人可以确认这是一个合适的事情,希望引用一些具有权威性的东西吗?

msbuild 64-bit warnings csc mscorlib

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

使用XAML中的系统类型作为资源

我遇到过一种情况,即直接在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来设置它?有谁知道如何做到这一点?

wpf xaml resourcedictionary mscorlib staticresource

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

如何报告Windows Server Service Bus中的错误?

我试着去谷歌.Microsoft Connect不接受Service Bus的错误.Azure门户发送到MS论坛或StackOverflow - 所以我在这里.

问题实际上在标题中:如何报告服务总线的错误?
(不是Azure版本,而是您在本地安装的版本)

这是问题所在:

  1. Microsoft.Cloud.ServiceBus.dll有参考Microsoft.Cloud.Common.AzureStorage.dll.它使用该程序集中的一种类型 - 即StorageAccountInfo.它是配置部分(即NamespacePolicyDataStoreFactorySection.Parameters.BlobStorageAccountInfo)的一部分,但显然只在Azure环境中有意义,并且从未在内部部署场景中使用过.
  2. 但这里有一个问题:Microsoft.Cloud.Common.AzureStorage.dll服务总线1.1实际上没有附带.我试图在各种SDK和Azure工具包,样本和诸如此类(我有很多)以及在线等方面找到它 - 并找到有关该DLL的zippo信息或从何处获取它.是我发现它的唯一地方.
  3. 虽然它本身就是一个WTF,但DLL的缺失并不能真正阻止任何工作:该类型实际上并没有被内部部署的任何代码所触及,因此没有任何抱怨.
  4. 但这是第二个问题:mscorlib.dllv4.6.7.0(与VS2015 CTP5一起提供)与之前的版本4.0.30319.34014相比略有变化System.Attribute.InternalGetCustomAttributes(PropertyInfo,Type,bool),更确切地说,这一行.这条线在以前的版本中不存在mscorlib,一切都很好.但现在它确实存在,导致属性类型被触及,这导致加载DLL失败,因为DLL不存在.
  5. 所以整个过程从加载配置部分开始,其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)

servicebus azure mscorlib azureservicebus .net-core

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

HttpClient导致mscorlib中的Node <Object>泄漏

考虑以下程序,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)

c# memory memory-leaks httpclient mscorlib

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

mscorlib 4.x和mscorlib 2.x之间的MSBuild冲突

我最近正在调查构建失败,并看到有关程序集之间冲突的警告.我挖得更深,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为基础.

我应该担心吗?

.net c# msbuild mscorlib

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

在C#中按Start后,我在开始时遇到Source Not found错误

我在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

12
推荐指数
2
解决办法
5986
查看次数

Visual Studio要求我引用一个不存在的程序集

我以某种方式将我的项目带到了一个状态,在这个状态下,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函数(GroupByToDictionary),它可以工作数而不需要任何更改.不幸的是,我无法创建任何MRE:显然,这个错误只出现在我的巨大解决方案的上下文中,并且只有在可能无关的地方进行了一些特定的更改.

这是我尝试过的,它不起作用:

  • 清洁+重建
  • 将目标框架从.NET 4.5更改为.NET 4.5.1或.NET 4.0

有没有人见过这样的怪癖?

msbuild mscorlib .net-assembly visual-studio-2013

12
推荐指数
2
解决办法
4780
查看次数