0

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

错误1 指定的任务可执行位置“C:..\MyProjectName\bin\x64\Debug\sgen.exe”无效。

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

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

4

1 回答 1

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" />
于 2013-05-07T17:38:01.663 回答