标签: .net-assembly

Visual Studio 2019:Intellisense 无法识别引用的程序集

我遇到了一个恼人的错误。我们有一个解决方案,大约由大约 50 个单独的项目组成,所有项目都正在构建并作为 dll 引用主项目。在 Visual Studio 2017 中一切正常,没有 Intellisense 错误,项目构建也没有遇到任何错误。

尽管我可以成功构建并运行该项目,但 Visual Studio 2019 显示缺少程序集引用:

在此输入图像描述

我试图克服这个错误:

  • 清理并重建解决方案
  • 删除了所有项目的 bin 和 obj 文件夹以及解决方案中隐藏的 .vs 文件夹 - 再次构建:相同的错误
  • 更新到最新的 Visual Studio 版本
  • 修复了 Visual Studio 并重新安装了 ReSharper

所有这些步骤我都没有成功。有谁知道我还可以尝试什么?

c# intellisense .net-assembly visual-studio visual-studio-2019

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

在运行时加载程序集 .NET 6

我们正处于将 ac# Winforms 应用程序从 .NET Framework 转换为 .NET 6 的开始阶段。我们可以在 .NET 6 中构建和运行项目,但是当涉及到动态加载的程序集时,我们遇到了问题。我们可以加载程序集,但尝试访问其中的自定义类会返回 null。我在两个较小的项目中重新创建了这个场景作为示例。

解决方案 1/项目 1 - 要加载到主应用程序中的程序集的代码。这是一个创建 TestAssembly.dll 的类库

namespace Custom.TestAssembly
{
    public class TestClass : CallingModule
    {
        public override object GetValue()
        {
            return "Hello World";
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案 2/项目 1 - 这是主应用程序解决方案中的项目和类。这是一个创建 Custom.TestAssembly.dll 的类库

namespace Custom.TestAssembly
{
    public class CallingModule
    {
        public virtual object? GetValue()
        {
            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案 2/项目 2 - 已在表单上放置一个按钮。单击它时,应该加载程序集,事实确实如此。但是,尝试从程序集中提取类始终返回 NULL。

Form1.cs

using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Reflection.Emit; …
Run Code Online (Sandbox Code Playgroud)

c# .net-assembly winforms .net-6.0

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

这是GAC的位置吗?

这是GAC的位置吗?

C:\Windows\Microsoft.NET\assembly\GAC_MSIL
Run Code Online (Sandbox Code Playgroud)

如果是这样,那又是什么C:\Windows\assembly

gac .net-assembly

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

Visual Studio引用的程序集CopyLocal不起作用

我有一个Console应用程序和Class Library一个解决方案.每当我从控制台应用程序引用类库时它都会找到它,但在构建解决方案之后它无法找到类型.

虽然CopyLocal设置为true但引用的程序集未复制!

reference visual-studio-2010 .net-assembly

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

使用外部EXE作为启动项目

我有一个包含一些项目和外部exe的解决方案.当我构建时,我想将exe复制到我的构建文件夹,以及构建项目并将我的dll复制到构建文件夹.有没有办法运行这个外部exe作为我的后期构建事件?所以,当我在visual studio中运行我的解决方案时,我想基本上将外部exe设置为启动项目.这是可能的(或类似的东西)?

c# .net-assembly post-build-event visual-studio-2008

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

如何在运行时C#中搜索嵌入文件

是否可以搜索与特定搜索条件匹配的嵌入文件(例如*.xml).

我的代码目前(适用于我知道路径的文件)

var fileName = "PATH.sample.xml";
var assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(fileName);

StreamReader reader = new StreamReader(stream);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(reader.ReadToEnd());
Run Code Online (Sandbox Code Playgroud)

c# reflection .net-assembly

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

如何将DotNetOpenAuth程序集引用引入ASP.NET MVC4解决方案的单元测试项目?

Tl; dr版本:遇到异常:System.IO.FileLoadException:无法加载文件或程序集'DotNetOpenAuth.AspNet,版本4. 0 .0.0 ...

有点沮丧的是,msft在新的MVC4项目模板中使用了很多静态类和auth方法.想要将所有成员资格/身份验证功能包装到实现接口的类中,以便我可以模拟单元测试.

经过几个挣扎的晚上,我决定从头开始,所以我删除了所有DotNetOpenAuth*程序集引用和nuget package.config引用.我已经删除了对Micrsoft.Aspnet.WebPages.OAuth.dll的所有引用.

重新安装软件包: 我对解决方案中需要dll引用的三个项目运行install-package dotnetopenauth.aspnet.

解决方案不会构建,因为我的包装器有一个包装的方法:Microsoft.AspNet.WebPages.OAuth(.dll).OAuthWebSecurity.RegisteredClientData因此我需要对这个assy的引用,所以我运行install-package microsoft.aspnet.webpages .oauth反对同样的三个项目.

解决方案构建,但是当我运行引用Microsoft.AspNet.WebPages.OAuth(.dll).OAuthWebSecurity.RegisteredClientData的单元测试时,我得到一个运行时异常: System.IO.FileLoadException:无法加载文件或程序集'DotNetOpenAuth.AspNet,Version 4. 0 .0.0 ...

在所有三个项目,该组件中的引用参考文献4.1 .0.0,一样的DotNetOpenAuth.AspNet assemblyIdentity在我的web.config.

我正在使用resharper来运行测试,测试是nunit风格.

最后这里是我在fuslogvw中看到的粘贴.显然有些东西正在寻找4. 0 .0.0但我无法弄清楚它是做什么或做什么的(我有几次删除了这个转储中引用的临时数据文件夹):

***** 装配活页夹日志条目(11/13/2012 @ 10:04:54 PM) ************

操作失败.绑定结果:hr = 0x80131040.没有可用的描述.

程序集管理器从以下位置加载:C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll在可执行文件C:\ Program Files(x86)\ JetBrains\ReSharper\v7.0\Bin\JetBrains.ReSharper.TaskRunner下运行.CLR4.MSIL.exe ---下面是详细的错误日志.

===预绑定状态信息=== LOG:User = i7\dave LOG:DisplayName = DotNetOpenAuth.AspNet,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 2780ccd10d57b246(完全指定)LOG:Appbase = file: ///C:/SVN/trunk/SoAndSo45/SoAndSo.Com.Tests.Unit/bin/Debug LOG:Initial PrivatePath = NULL …

dll .net-assembly dotnetopenauth nuget asp.net-mvc-4

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

获取没有版本和其他详细信息的程序集名称

我得到一个程序集的名称如下:

String fullName = Assembly.GetAssembly(typeof(CP.Proj.ILogger)).FullName;
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

CP.Proj,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null

有没有办法只获得程序集名称"CP.Proj",没有版本和其他信息?

c# reflection .net-assembly assembly-name

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

如何从c#中获取程序集名称(非限定名称)(仅包含没有版本或文化的程序集名称或publickeyToken)

如何获取没有命名空间或文化或公钥令牌的程序集名称(只有名称); typeof(MyClass).AssemblyQualifiedName --->给我一个完全限定的名称,我只想要程序集名称而不是限定名称

.net c# reflection .net-assembly

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

如何从包含任何程序集的程序集和路径的Uri加载资源?

我想只使用其uri从任何程序集(同一个应用程序)加载任何资源.两个程序集都是同一应用程序的一部分.

因为我希望能够从任何程序集加载,所以我不能使用未在通用Dll中定义的"App"或"Application".

我认为部分或答案正在使用: System.Reflection.Assembly.GetCallingAssembly().GetManifestResourceStream(path);

但我找不到如何从uri中正确查找/提取/解析程序集?

笔记:

  • 资源实际上定义为"资源".
  • 该资源不是WPF资源字典的标准.
  • 资源实际上是一个XML文件,但可以是任何东西

到目前为止(约3小时后),使用反射器后,似乎使用静态System.Windows.Application.GetResourceStream(uri).Stream具有资源缓存等优点.这很糟糕,因为它被挂钩到WPF(System.windows).我正在寻找一种更好的方法(不依赖于任何特定的UI框架)来完成这项工作.

c# resources uri file .net-assembly

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