Visual Studio 2010 Can't Find 'sgen.exe'

本文关键字:Find sgen exe Studio 2010 Visual Can | 更新日期: 2023-09-27 18:12:34

我有一个c#汇编项目,我选择在Visual Studio 2010中构建,它被设置为序列化自身。当我尝试构建项目时,我得到这个错误:

Error 1指定的任务可执行位置"C: . . ' MyProjectName ' bin ' x64 '调试' sgen.exe"是无效的。

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

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

Visual Studio 2010 Can't Find 'sgen.exe'

很可能是因为构建目标发生了变化。编辑您的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" />