未能加载文件或程序集或某一个依赖项

dfgoow 2012-12-31 11:30:24
“未能加载文件或程序集file:///E:/MoneySet.dll或它的某一个依赖项,试图加载格式不正确的程序,行203,位置5. 文件:MReportSet.resx”,求教各位,以前程序是可以编译通过的,最近打开后就一致提示这个,无法编译通过
...全文
4453 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
feeling9999 2013-06-21
  • 打赏
  • 举报
回复
1.右键卸载项目 2.右键选择编辑工程文件,在打开的文件的最后一行</project>之前加以下内容: <PropertyGroup> <ForceResGen32Bit Condition="'$(MSBuildToolsVersion)'=='4.0' And '$(PROCESSOR_ARCHITEW6432)'!='' And '$(TargetingClr2Framework)'=='true' And '$(PlatformTarget)'=='x86'">true</ForceResGen32Bit> </PropertyGroup> <Target Name="BeforeResGen" Condition="'$(ForceResGen32Bit)' == 'true'"> <PropertyGroup> <ResGenSdkToolsPath>$(IntermediateOutputPath)ResGenForced32Bit\</ResGenSdkToolsPath> </PropertyGroup> <!-- Copy resgen.exe to intermediate working directory for UAC settings --> <Copy SourceFiles="$(TargetFrameworkSDKToolsDirectory)ResGen.exe" DestinationFiles="$(ResGenSdkToolsPath)ResGen.exe" /> <!-- corflags.exe resgen.exe /32BIT+ /Force--> <Exec WorkingDirectory="$(ResGenSdkToolsPath)" Command=""$(TargetFrameworkSDKToolsDirectory)corflags.exe" ResGen.exe /32BIT+ /Force" /> <!-- GenerateResource Task parameters Using the non-64bit Tracker.exe and indicate resgen.exe has been forced to x86 --> <PropertyGroup> <ResGenTrackerSdkPath>$(SDK40ToolsPath)</ResGenTrackerSdkPath> <ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture> <CacheTargetFrameworkSDKToolsDirectory>$(TargetFrameworkSDKToolsDirectory)</CacheTargetFrameworkSDKToolsDirectory> <TargetFrameworkSDKToolsDirectory>$(ResGenSdkToolsPath)</TargetFrameworkSDKToolsDirectory> </PropertyGroup> </Target> <Target Name="AfterResGen" Condition="'$(ForceResGen32Bit)' == 'true'"> <PropertyGroup> <TargetFrameworkSDKToolsDirectory>$(CacheTargetFrameworkSDKToolsDirectory)</TargetFrameworkSDKToolsDirectory> </PropertyGroup> <RemoveDir Directories="$(ResGenSdkToolsPath)" Condition="Exists('$(ResGenSdkToolsPath)')" /> </Target> 3.右键重新加载项目,问题解决。本机实验通过
threenewbee 2013-01-01
  • 打赏
  • 举报
回复
E:/MoneySet.dll是否存在,项目文件的相对路径关系被改变,重新添加下。
波西米亚人生 2012-12-31
  • 打赏
  • 举报
回复
http://blog.csdn.net/bohemianlife/article/details/8432921 可以看看这个,看能否解决你的问题,祝你好运。
波西米亚人生 2012-12-31
  • 打赏
  • 举报
回复
先检查确保应该添加的引用都已经添加, 若引用都正常,可能是由于系统环境发生变化引起的, .resx 文件,属于资源文件 ,由 XML 组成,可以加入任何资源,包括二进制等。 64 位系统上设置编译平台为 x86 的项目编译在特定的情况下比如当一个窗体上放有包含了图像的 ImageList 之后, ResGen 就会产生这种问题。当这个 ImageList 中没有图像时编译也是正常的,但是一旦编译就会引发这样的异常。 这 个错误产生的原因在于, VS2010 内部使用的编译器中,无论是 32 位还是 64 位的编译组件,都是纯 IL 的,也就是在 64 位系统中是以 64 位模式运行,这 与当前项目使用的平台设置无关。当编译的组件引用了一个标记为 x86 的库(仅 32 位模式)时,编译组件便会发生错误,无法加载,从而导致编译失败。 http://blog.csdn.net/bohemianlife/article/details/8432921

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧