MissingAssemblyAfterBuild我的C#解决方案有5个项目。公共数据访问。UI组件测试我可以添加对Components.dll的引用。但是,当我运行该解决方案时,出现错误:类型或名称空间名称“组件”不存在。Components.dll已存在于引用文件夹中。你能帮我吗?这是构建输出:------重建全部开始:项目:Comps,配置:释放任何CPU------Comps->..AshyanehCompsbinReleaseAshyanehComps.dll------重建全部开始:项目:接口,配置:调试任何CPU------接口->..AshyanehInterfacesbinDebugAshyanehInterfaces.dll------重建全部开始:项目:通用,配置:调试任何CPU------Common->..AshyanehCommonbinDebugAshyanehCommon.dll------重建全部开始:项目:Web,配置:调试任何CPU------Web->E:MyProgramming1391HRShojaieWebAppRC2AshyanehWebbinWeb.dll------重建全部开始:项目:测试,配置:调试x86------C:WindowsMicrosoft.NETFrameworkv4.0.30319Microsoft.Common.targets(1360,9):警告MSB3253:引用的程序集“AshyanehComps.dll”无法解析,因为它依赖于不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”。请删除对不在目标框架中的程序集的引用,或考虑重新定位您的项目。测试->..AshyanehTestbinDebugTest.exe==========全部重建:5次成功,0次失败,0次跳过==========这是你的问题:引用的程序集“E:我的编程1391HRShojaieWebAppRC2AshyanehCompsbinReleaseAshyanehComps.dll”无法解决,因为它依赖于“System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”不在当前目标框架“.NETFramework,版本=v4.0,Profile=Client"假设您正在尝试运行.NET4.0,那么您正在针对“轻量级”客户端配置文件基类库进行编译您需要包含System.Web的完整框架框架库。解决方案要更改此设置,请右键单击AshyanehComps.dll项目>单击“属性”>单击“应用程序”选项卡>将“目标框架”更改为“.NETFramework4”。为了安全起见,我会对您解决方案中的所有项目执行上述步骤,您应该可以开始了。您是否通过右键单击发生错误的项目并单击“添加引用”并选择“项目引用”来确保将组件作为引用添加到每个所需位置?如果以上都完成了,我会遵循这个流程:如果还是不行,那么你可能需要调整你的构建顺序。右键单击解决方案并确保每个项目都使用正确的依赖顺序构建,并确保您没有任何循环依赖。验证提交解决方案时是否保存了csproj,因为csproj包含您的引用:验证您的主要应用程序目标框架未设置为.NetFramework4.0ClientProfile。如果设置成这个,改一下,设置成.Netframework4.0。你可以看看如何改变http://msdn.microsoft.com/en-us/library/bb398202.aspx首先,你有5个项目。您必须确定哪个“组件”报告不存在于哪个特定项目中?然后你去项目引用添加(重新添加,如果它在那里让VS引用缓存生成)到项目。检查您是否需要“复制到本地”选项或验证全局程序集路径。现在您已经完成了所有引用,如果问题仍然存在,请检查您的项目代码(特定行)以查看它为什么不起作用。发布MSBuild输出,它会告诉我。您的应用程序目标框架很可能就像我的4.0客户端配置文件。除非您使用特定于4.0的东西,否则解决方案是将它降低到3.5并且错误消失。谢谢微软。以上为C#学习教程:搭建完毕,不足的是所有内容的拼装分享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
