标签: .net-assembly

如何在.Net中获取给定类型的程序集(System.Reflection.Assembly)?

在.Net中,给定一个类型名称,是否有一个方法告诉我在哪个程序集(System.Reflection.Assembly的实例)中定义了该类型?

我假设我的项目已经有了对该程序集的引用,只需要知道它是哪一个.

.net c# reflection .net-assembly

35
推荐指数
2
解决办法
6万
查看次数

来自HRESULT的异常:0x80070057(E_INVALIDARG)

我有一个WPF应用程序.在构建它时,我收到以下错误:

无法加载文件或程序集或其依赖项之一.参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))

应用程序正在尝试从虚拟驱动器加载程序集(作为调试文件夹)

例如:[subst r:c:[我的装配箱pth]

之前我将c:\ bin安装为网络驱动器,并且出现了以下错误.

该程序集可能已从Web下载.如果已从Web下载程序集,则Windows将其标记为Web文件,即使它驻留在本地计算机上也是如此.这可能会阻止它在您的项目中使用.您可以通过更改文件属性来更改此指定.仅取消阻止您信任的程序集.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=179545.

编辑:顺便说一句,我无法在属性窗口中找到"取消阻止"按钮.

c# wpf .net-assembly

35
推荐指数
4
解决办法
8万
查看次数

如何将.NET程序集注册为COM?

我已经为本地计算机上的工作流创建了一个类库并构建它.我将完整的解决方案移动到Tridion服务器并尝试使用regasm.exe工具在服务器中注册程序集,如下所示:

C:\User\XYZ\Desktop\>RegAsm \codebase F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法加载'F:\ Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll',因为它不是有效的.NET程序集.

我的服务器细节:

安装了64位,Windows Server 2008 R2 Enterprise和.NET Framework 4.

.net .net-assembly tridion

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

Newtonsoft.Json装配冲突

我在我的项目中使用Netonsoft.Json.它工作正常,直到我开始在我的项目中集成Paypal SDK.我的代码如下.

         String AccessToken =
  new PayPal.OAuthTokenCredential("", "").GetAccessToken(); ---->>>> This Line Throwing An Error
            PayPal.Api.Payments.Address add = new PayPal.Api.Payments.Address();
            add.city = TextBoxCity.Text;
            add.line1 = TextBoxAddress.Text;
            add.phone = TextBoxPhoneNumber.Text;
            add.postal_code = TextBoxZipcode.Text;
            add.state = TextBoxState.Text;
            PayPal.Api.Payments.CreditCard cc = new PayPal.Api.Payments.CreditCard();
            cc.number = TextBoxCreditCardNumber.Text;
            cc.first_name = TextBoxFirstName.Text;
            cc.last_name = TextBoxLastName.Text;
            cc.expire_month = Convert.ToInt16(TextBoxExpiryMonth.Text);
            cc.expire_year = Convert.ToInt16(TextBoxExpiryYear.Text);
            cc.cvv2 = TextBoxCVVNumber.Text;
            cc.billing_address = add;
            cc.Create(AccessToken);
Run Code Online (Sandbox Code Playgroud)

我得到如下错误

       System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located …
Run Code Online (Sandbox Code Playgroud)

c# .net-assembly paypal-sandbox

32
推荐指数
3
解决办法
8万
查看次数

测试项目中的App.config

我正在VS2010中构建一个ASP.NET应用程序.我有许多单独的程序集(类库)和相应的Test项目.

在其中一个类库中,我使用App.config文件来存储设置.程序集本身使用以下代码来检索设置:

 string tmp = ConfigurationManager.AppSettings["mySetting"];
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试在单独的测试项目中创建单元测试时,测试不会获取App.config文件中的设置.如果我将App.config文件复制到Test项目中,它可以正常工作.

如何确保每个程序集使用自己的App.config文件副本.如果我不得不复制配置文件,它会引入问题.还有一个问题,因为可能有多个配置文件,每个程序集一个 - 它们如何在一个测试项目中共存?

谢谢!

.net asp.net tdd .net-assembly

31
推荐指数
2
解决办法
3万
查看次数

无法找到类型[System.IO.Compression.CompressionLevel],请确保已加载包含此类型的程序集

我编写了这个PowerShell脚本,该脚本应该在特定日期范围内存档所有日志文件.

$currentDate = Get-Date;
$currentDate | Get-Member -Membertype Method Add;
$daysBefore = -1;
$archiveTillDate = $currentDate.AddDays($daysBefore);

$sourcePath = 'C:\LOGS';
$destPath='C:\LogArchieve\_'+$archiveTillDate.Day+$archiveTillDate.Month+$archiveTillDate.Year+'.zip';

foreach( $item in (Get-ChildItem $sourcePath | Where-Object { $_.CreationTime -le $archiveTillDate }) )
{
    [Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem");
    $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal;
    [System.IO.Compression.ZipFile]::CreateFromDirectory($sourcePath,$destPath, $compressionLevel, $false);
}
Run Code Online (Sandbox Code Playgroud)

它一直工作到foreach循环之前,但是在循环中它会产生以下错误:

Unable to find type [System.IO.Compression.CompressionLevel]: make sure that the assembly containing this type is loaded.
At line:4 char:65
+ $compressionLevel = [System.IO.Compression.CompressionLevel] <<<< ::Optimal;
+ CategoryInfo          : InvalidOperation: (System.IO.Compression.CompressionLevel:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound …
Run Code Online (Sandbox Code Playgroud)

compression powershell runtime-error powershell-2.0 .net-assembly

31
推荐指数
2
解决办法
5万
查看次数

如何添加对System.Numerics.dll的引用

我想使用System.Numerics中的BigInteger类,但如果我想写

using System.Numerics;
Run Code Online (Sandbox Code Playgroud)

Numerics找不到.我在网上搜索,发现我必须添加一个引用System.Numerics.dll,但是我该怎么做呢?

c# .net-assembly system.numerics

30
推荐指数
3
解决办法
4万
查看次数

如何使用强名称程序集的"InternalsVisibleTo"属性?

我使用"InternalsVisibleTo"属性和程序集将内部方法/类公开给我的单元测试项目.

我现在需要将该程序集安装到GAC中,因此我需要给它一个强名称.当我尝试这样做时,我在Visual Studio中收到以下错误.

强名称签名程序集必须在其InternalsVisibleTo声明中指定公钥

一点谷歌搜索带我到下面的文章:

https://msdn.microsoft.com/en-us/library/bb763089.aspx

本文指出:

"确定强名友人集会的公钥."

本文未说明如何确定公钥.我在哪里可以找到装配的公钥?此外,一旦我有公钥,这是否是声明属性的正确方法?

[assembly: InternalsVisibleTo("Namespace.Assembly.Example.Name, PublicKey=ThePublicKey")]
Run Code Online (Sandbox Code Playgroud)

c# .net-assembly

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

我怎么能看到我的集会的强大名称?

我有一个项目,我为它创建了一个强名称密钥文件.

我怎么知道我的集会的强名是什么?看来这应该是显而易见的,但我找不到任何参考.

c# strongname .net-assembly visual-studio visual-studio-2012

27
推荐指数
2
解决办法
3万
查看次数

获取组装的公司名称和版权信息

Assembly.GetEntryAssembly().GetName()用来获取应用程序/程序集名称及其版本,但我没有看到公司名称和版权的任何变量.我怎么做到的?

.net c# .net-assembly

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