2013-05-07 8 views
0

У меня есть проект сборки C#, который я выбрал для сборки в Visual Studio 2010, который настроен на сериализацию. Когда я пытаюсь построить проект, я получаю эту ошибку:Visual Studio 2010 не может найти 'sgen.exe'

Error 1 The specified task executable location "C:..\MyProjectName\bin\x64\Debug\sgen.exe" is invalid.

Кто-нибудь знает, как я могу решить эту проблему?

Мне нужна эта сборка, сериализована для целей моего проекта. Теперь немного истории. Эта машина, которую я использую, является новой, и я ошибся при установке Visual Studio 2010 после Visual Studio 2012; не уверен, что это причина, по которой он не может найти sgen.exe. Нет шагов сборки, которые требуют sgen, я уверен, что это сделано VS как часть цикла сборки. Во-вторых, он пытается найти sgen в выходном каталоге ... Я не понимаю, почему он пытается это сделать, я думал, что sgen является компонентом framework, который устанавливается в другом месте. Этот проект успешно строится на другом компьютере.

+1

Вы внесли какие-либо изменения в файл проекта cs? – eka

+0

Нет, я этого не делал. – Alexandru

+0

Вы можете проверить это решение в SO: http://stackoverflow.com/questions/2748974/how-to-set-sgen-toolpath-in-msbuild-to-target-3-5-framework –

ответ

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" /> 
+0

Спасибо , это сработало! В .csproj на самом деле содержалась информация о sgen-пути, поэтому я смог вытащить ее оттуда :) – Alexandru