Visual Studio 2010无法找到'sgen.exe'

时间:2013-05-07 17:31:47

标签: c# .net visual-studio-2010 visual-studio sgen

我有一个C#程序集项目,我已选择在Visual Studio 2010中构建,该项目设置为自行序列化。当我尝试构建项目时,我收到此错误:

  

错误1指定的任务可执行位置   “C:.. \ MyProjectName \ BIN \ 64 \调试\ sgen.exe”   无效。

有谁知道如何解决这个问题?

为了我的项目,我需要序列化这个程序集。现在有点历史了。我正在使用的这台机器是新的,我碰巧错误地在Visual Studio 2012之后安装Visual Studio 2010;不确定这是不是找不到sgen.exe的原因。没有构建步骤可以调用sgen,我很确定它是由VS作为构建周期的一部分完成的。其次,它试图在输出目录中查找sgen ...我不明白为什么它试图这样做,我认为sgen是一个安装在别处的框架组件。该项目在我的另一台计算机上成功构建。

1 个答案:

答案 0 :(得分:1)

最有可能是因为构建目标发生了变化。编辑csproject文件并尝试替换这些标记

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
  <PropertyGroup>
    <PreBuildEvent />
    <PostBuildEvent />
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />