我有一个可以正常工作的VS2010安装,直到一年前我还在这台机器上大量使用它,但在过去的一年里我很少使用它。它过去可以很好地构建我的所有项目,但在几个月前使用它后,我打开它,试图构建一个解决方案,但它无法构建,因为它似乎在硬盘驱动器上的准随机位置创建输出文件。
为了解决这个问题,我简单地创建了一个全新的WinForms项目,并且在没有更改模板中的一行代码的情况下构建了它。虽然VS很高兴地声明它是构建的,但我在其中看到了似乎正在困扰我的实际解决方案的相同问题(实际上由总共约160个项目(C#,一些目标)的4-5个解决方案组成:一个名为“C++”的目录被创建在与.sln文件相同的文件夹中。在该文件夹内是另一个与解决方案同名的文件夹,而在该文件夹内是bin文件夹(再往下是Debug和Release)文件夹。
下面是文件夹结构
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall.sln
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Release
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.pdb
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Form1.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Form1.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Program.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Test VS after reinstall.csproj
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug\Test VS after reinstall.vshost.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\GenerateResource.read.1.tlog
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\GenerateResource.write.1.tlog
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\TempPE
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.csproj.FileListAbsolute.txt
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.exe
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test VS after reinstall.pdb
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\obj\x86\Debug\Test_damn_VS_after_reinstall.Properties.Resources.resources
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\AssemblyInfo.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Resources.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Resources.resx
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Settings.Designer.cs
C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\Properties\Settings.settings您可以看到,第1行和第3-8行似乎不正确。
在我的实际解决方案中,它产生了巨大的差异,因为所有的解决方案和项目都被配置为构建到一个公共文件夹中,并且都是通过相对路径(构建属性中的输出目标)进行配置的。由于所有的引用现在都搞砸了,各种项目最终在硬盘的各个部分结束,当然没有什么是正确构建的。
我在Win7SP1 x64,VS2010旗舰版SP1上运行。
另外值得一提的是,使用预编译步骤和回显一些宏(可扩展的编译变量),我可以看到宏没有解析到正确的文件夹。有趣的是,Visual Studio显示了它将是什么(项目属性、构建事件、预构建、编辑预构建、宏按钮)。在那里,它将显示以下内容:
Outdir: bin\Debug
TargetPath: C:\Users\{user}\Documents\Visual Studio 2010\Projects\Test VS after reinstall\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe但是,当构建实际运行时,构建前步骤被定义为:
echo OutDir: $(OutDir)
echo TargetPath: $(TargetPath)输出为:
------ Build started: Project: Test VS after reinstall, Configuration: Debug x86 ------
OutDir: C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\
TargetPath: C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe
Test VS after reinstall -> C:\Users\{user}\documents\visual studio 2010\Projects\Test VS after reinstall\target\Test VS after reinstall\bin\Debug\Test VS after reinstall.exe你知道Visual Studio是怎么回事吗?
发布于 2012-08-04 02:49:40
在微软人的大力帮助下,终于在MSDN论坛上找到了这一切的全部内容。
http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/d6a626c0-f43a-4a70-ba4e-0f377fc11b17
https://stackoverflow.com/questions/11690674
复制相似问题