有三个程序集版本属性.有什么区别?如果我使用AssemblyVersion并忽略其余部分可以吗?
MSDN说:
指定要归属的程序集的版本.
指示编译器使用Win32文件版本资源的特定版本号.Win32文件版本不需要与程序集的版本号相同.
定义程序集清单的其他版本信息.
这是使用装配属性的最佳做法的后续行动?
我对Visual Studio 2008中的.NET平台构建选项有一些困惑.
什么是"任何CPU"编译目标,它生成什么类型的文件?我检查了这个"Any CPU"构建的输出可执行文件,发现它们是x86可执行文件(谁也看不到它!).那么,将可执行文件定位到x86与"任何CPU"之间有什么区别吗?
我注意到的另一件事是托管C++项目没有这个平台作为选项.这是为什么?这是否意味着我怀疑"任何CPU"可执行文件是普通的32位可执行文件是对的?
我的VSTO Outlook插件突然停止在一台客户机器上工作(它没有加载,没有错误消息)而且我遇到了故障排除问题.该机器是Windows 7 x86,Outlook 2007.该加载项是使用Visual Studio 2008编写的,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003).它在其他机器上完美运行.
这是我试图获得有用的故障排除输出:
VSTO_SUPPRESSDISPLAYALERTS环境变量(设置为0).没有.加载项不会在没有给出任何原因指示的情况下加载.我还检查了"通常的嫌疑人"(CAS政策,安装的PIA,注册表中的LoadBehavior,重新安装VSTO和加载项).
其他一些观察:
LoadBehavior在注册表中停留在3.Trace.WriteLine代码的最顶部(ThisAddIn_Startup处理程序中的第一行)有一条消息,未到达(我使用DebugView检查).因此,不加载的原因不是我的加载项中的例外,而是VSTO加载加载项或Outlook加载VSTO失败.而不是更随机的调试("试试这个......","试试......"),我真的想强迫Outlook和/或VSTO告诉我什么是错的,即给我一个有用的错误信息而不是只是无所事事试图启用加载项时.有任何想法吗?
我在C#中有一个小项目,它使用两个外部dll文件.一个是Redmine.Net.Api.dll,另一个是NLog.dll.我正在使用Visual Studio 2010.我添加了两个文件作为参考我的项目.问题是,当我在调试模式下运行项目时,它会编译,但是当我切换到Release时,它会说:
错误1无法加载文件或程序集'file:/// C:\ project\lib\Redmine.Net.Api.dll'或其依赖项之一.不支持操作.(来自HRESULT的异常:0x80131515)C:\ project\SGEN项目
我怎样才能解决这个问题?
我写了一个Win32/net DLL,它在Win XP,Win7和8下工作正常,但在Win 8.1下它失败了.
Dependency Walker说:找不到API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL(user32.dll会调用它们)
谷歌意味着,MS改变了8.1中的一些系统DLL(并忽略了兼容性),因此许多程序都有同样的问题.
"找不到文件"的完整列表:
API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
MSVCR120.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
IESHIMS.DLL
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
我正在尝试升级Unity到版本(2.1.505.2),但是当我运行应用程序时,我得到以下内容FileLoadException
无法加载文件或程序集"Microsoft.Practices.Unity,Version = 2.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.
我们正在从Unity 2.0.414.0升级到2.1.505.2.
gacutil -l)我从存档中删除了所有Unity dll.用powershell双重检查
PS C:\> ls -rec -inc Microsoft.Practices.Unity.dll | foreach-object { "{0}`t{1}" -f $_.FullName, [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).FileVersion }
Run Code Online (Sandbox Code Playgroud)如何找出仍然引用Unity 2.0.414.0的内容?
FusionLogVw没有告诉我哪个DLL导致了这个问题.
任何帮助深表感谢!
有什么办法,我可以将HTML文档(文件不是URL)转换为图像,或将PDF转换为图像?
我能够使用Ghostscript DLL执行上述操作,有没有其他方法,我可以这样做,而不使用Ghostscript DLL?
我正在开发一个C#Windows应用程序.
我正在构建一个dll,它引用了第二个dll.我已经在第一个dll的项目中添加了第二个dll作为参考Properties > Common Properties > Framework and References > Add New Reference > Browse
我从第三方的源代码编译了第二个dll.这两个项目都是C++/CLI.每当我的主应用程序试图调用包含对第二个dll的调用的第一个dll中的函数时,我会收到以下错误:
未知模块中出现未处理的"System.IO.FileNotFoundException"类型异常.
附加信息:无法加载文件或程序集'NBIS,Version = 1.0.5156.29834,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.
我有一个与我的主exe在同一目录中的第二个dll的副本,我甚至尝试在第一个dll旁边保留一个副本,但无济于事.
第二个dll引用了几个静态库,但它包含的唯一程序集引用是
系统
System.Data
System.Drawing中
了System.XML
我在第一个dll中添加了所有这些作为程序集引用.
我该怎么做才能让我的应用程序找到并加载第二个dll?
我的应用程序编译正常,但我得到以下运行时错误:
System.IO.FileNotFoundException was unhandled
HResult=-2147024770
Message=Could not load file or assembly {Wrapper} or one of its dependencies. The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)
调用Application中对Wrapper的引用看起来是正确的.Wrapper dll存在于正确的位置.
这个项目用于在别人的系统上构建和运行,我看过几次.该人/计算机不再可用.自上次成功构建和运行以来,某些依赖项的某些路径已发生更改,我已修复了与此相关的所有编译错误.
只是为了澄清我的项目结构:

Digraph G
{
App [ label = "My C# Application"]
Wrapper [ label = "C++/CLI Wrapper"]
Lib [ label = "C++ Library"]
Dll [ label = "My helper C# DLL"]
CDep [ label = "Series of deep C++ dependencies managed \n by CMake for Lib, hard coded relative paths for Wrapper."]
App->Wrapper->Lib->CDep; …Run Code Online (Sandbox Code Playgroud) 我正在构建一个.Net标准库,它构建良好,但在测试时,我得到了这个错误
HResult = -2147024894消息=无法加载文件或程序集'System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.来源=图书馆试验
我已经安装了System.Net.Http Nuget Package仍然没有成功.这是一个新项目,所以我必须做错什么
.net ×5
c# ×5
c++-cli ×3
dll ×2
64-bit ×1
assemblies ×1
attributes ×1
build ×1
cmake ×1
dependencies ×1
mixed-mode ×1
vsto ×1
winapi ×1
windows ×1