Visual Studio:代码中的引用无法识别?

时间:2009-06-24 15:22:56

标签: visual-studio

我在VS2008(C#)中有一个包含多个项目的解决方案。我刚刚为我们的构建过程重新编写了一些.csproj文件,并且突然编码项目B时不会识别类代码中项目A的引用...想想我创建的变量类型下的红色波浪线。但是,构建解决方案不会产生任何错误。为什么它表现得像这样?

7 个答案:

答案 0 :(得分:22)

我建议您清除Visual Studio临时文件 - 它经常会对项目结构感到困惑,需要重新开始。

首先,完全退出VS并重新启动它。如果问题仍然存在,请找到您的VS缓存文件夹并将其删除,然后进行重建。

有关查找缓存文件夹的帮助,check this post

答案 1 :(得分:3)

在B的项目属性中,确保在依赖项下检查项目A.

答案 2 :(得分:3)

当VS开始表现奇怪,并且我找不到逻辑修复时,我会杀死Visual Studio,并通过删除所有bin / obj文件夹手动执行“清理”。

我有一个批处理文件可以比我手动更快地为我完成此操作。我把它放在我的解决方案目录中,我的所有项目都在子目录中找到。

rem "%%~dpa" says: Give me the (d)drive and (p)path of the (a, %%a) file.
rem However, our dir /a:d will result in only listing folders...
rem The final "%%a" is just appending the 'file' (diretory name) to the 
rem drive-and-path string
for /f %%a in ('dir /b /a:d *.*') do call :process "%%~dpa%%a"
pause
goto :eof

:process
echo Looking in %1
cd "%1"
if EXIST "%1\bin" (
   echo    Found 'bin' - it's gone now.
   rd /s /q "%1\bin"
)
if EXIST "%1\obj" (
   echo    Found 'obj' - it's gone now.
   rd /s /q "%1\obj"
)
cd ..

答案 3 :(得分:3)

另一种解决方案


如果其他有关清除Visual Studio cache.NET Cache和 确保引用有效,请尝试此操作。

根据消息来源,尝试这种解决方案,我已经成功了。

  1. 关闭所有Visual Studio实例
  2. 在解决方案中找到.vs隐藏文件夹。
  3. 删除整个隐藏的.vs文件夹。
  4. 重建解决方案

-Source

答案 4 :(得分:1)

确保在Configuration Manager中构建两个项目

(右键单击解决方案,然后单击“Configuration Manager”)

您也可以将鼠标悬停在红线上,或者只是再次构建以查看是否再收到详细信息。 C#和VB都很擅长告诉你为什么他们不开心。

答案 5 :(得分:0)

我从项目中删除了无法识别的类的引用,并重新添加了该引用。一切都固定了。

答案 6 :(得分:0)

仔细检查您是否将引用的类设为公开。当您创建一个新类时,Visual Studio 不会自动执行此操作,我有时会忘记。