我正在将 C++ .NET 解决方案移植到 MSVS 2012。我对本地构建的程序集有一个特殊的问题。在“公共属性”部分的引用列表中,添加了程序集(通过浏览“添加新引用”)。但通常(并非总是),链接似乎已断开(在程序集名称左侧的小图标上有一个垂直的红色条)并且项目不会编译。
我删除了引用,然后重新添加它(同一个!)并构建。我将不胜感激有关如何解决此问题的任何提示,因为我们在解决方案中有很多项目。
你遇到过这个问题吗?
随时询问更多信息...
谢谢。
我正在将 C++ .NET 解决方案移植到 MSVS 2012。我对本地构建的程序集有一个特殊的问题。在“公共属性”部分的引用列表中,添加了程序集(通过浏览“添加新引用”)。但通常(并非总是),链接似乎已断开(在程序集名称左侧的小图标上有一个垂直的红色条)并且项目不会编译。
我删除了引用,然后重新添加它(同一个!)并构建。我将不胜感激有关如何解决此问题的任何提示,因为我们在解决方案中有很多项目。
你遇到过这个问题吗?
随时询问更多信息...
谢谢。
您是在添加由该项目构建的程序集还是不同的程序集?如果是这样,那么问题是它可能不存在或可能被占用(由另一个进程(如 VS2010)独占打开)。
如果它在同一个项目中,请不要通过浏览从项目选项卡中添加它。
如果不是,则尝试将程序集复制到其他位置,然后指向它。
一般来说,指向另一个项目中的不同程序集是一个非常糟糕的主意。
一个常见的原因是添加的程序集需要一个引用的程序集。而且您的项目有一个不包含该程序集的 .NET 框架目标。发生这种情况时,IDE 会变得很糟糕。一切看起来都很正常,例如 IntelliSense 工作。直到您编译并发现差异。错误列表窗口中有一个警告,但很容易被排除程序集生成的常见错误遗漏。
例如,System.Web 是一种常见的不可用的。将框架目标设置从客户端配置文件更改为完整版本以解决问题并重试。
这是解决我的问题的方法:
添加引用时(至少在 VS2012 中),您的左侧有 4 个选择:
通过反射,我选择了浏览,因为我想浏览文件夹中的 DLL。我找到了它(DLL),然后我错误地认为它是正确的。
我必须做的是选择Assemblies。然后我可以选择对话框底部的浏览来浏览我的文件夹。
目前我不知道第一个Browse有什么用。无论如何,我希望我的错误能帮助别人!
非常感谢那些给我一些提示的人!