我有一个C#程序集项目,我已选择在Visual Studio 2010中构建,该项目设置为自行序列化。当我尝试构建项目时,我收到此错误:
错误1指定的任务可执行位置 “C:.. \ MyProjectName \ BIN \ 64 \调试\ sgen.exe” 无效。
有谁知道如何解决这个问题?
为了我的项目,我需要序列化这个程序集。现在有点历史了。我正在使用的这台机器是新的,我碰巧错误地在Visual Studio 2012之后安装Visual Studio 2010;不确定这是不是找不到sgen.exe的原因。没有构建步骤可以调用sgen,我很确定它是由VS作为构建周期的一部分完成的。其次,它试图在输出目录中查找sgen ...我不明白为什么它试图这样做,我认为sgen是一个安装在别处的框架组件。该项目在我的另一台计算机上成功构建。
答案 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" />