C# VS 2013 错误 02019:/target 的目标类型无效:必须指定 'exe'、'winexe'、'library'、'module'、'appcontainerexe' 或 'winmdobj'中建委
C# VS 2013 Error 02019: Invalid target type for /target: must specify 'exe', 'winexe', 'library', 'module', 'appcontainerexe' or 'winmdobj' CSC
我在一个使用各种 class 偶尔更新的库的网站上工作。其中一个库是一个 sqlproj 文件,我相信它是用 VS2010 制作的。它是其他库的依赖项,我无法 build/rebuild 我的解决方案,因为我不断收到此错误,因此不会生成 DLL。当我第一次在 VS2013 中打开该项目时,我会收到一份在我的浏览器中打开的迁移报告。但是迁移表明它是成功的。当我尝试构建项目时,出现错误:
Error 1 02019: Invalid target type for /target: must specify 'exe', 'winexe', 'library', 'module', 'appcontainerexe' or 'winmdobj' CSC
我尝试按照基本相同的问题就此问题提出一些建议,但没有成功。 Project fails to load due to missing SqlServer.targets file after upgrading to Visual Studio 2013 似乎该问题中也有一些未解决的问题。
任何帮助都会很棒。很高兴提供更多详细信息 and/or 编辑问题以使其更笼统。提前致谢。
虽然 Project fails to load due to missing SqlServer.targets file after upgrading to Visual Studio 2013 中的 none 答案对我有用,而且 Stack Overflow 上没有其他人有想法,但事实证明这是一个与 [=17= 中的向后兼容性相关的错误] 2013 和 SSDT(SQL 服务器开发人员工具)。此论坛中的一条评论解决了我的问题:
https://connect.microsoft.com/SQLServer/feedbackdetail/view/979839
Posted by bsclifton on 11/15/2014 at 7:18 AM
Had this issue too with the Community 2013 edition; Going to Tools->Extensions and Updates and updating "Microsoft SQL Server Update for database tooling" resolved the issue :)
我在 .sqlproj 的 VS2017 上收到了相同的错误消息。
它有助于在 .targets 文件中添加 DefaultTargets 参数。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SetDacVersionToAssemblyVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Target Name="SetDacVersionToAssemblyVersion" AfterTargets="CoreCompile" Condition=" '$(EnableDacVersionFromAssembly)' == 'True' ">
<GetAssemblyIdentity AssemblyFiles="$(IntermediateTargetFullFileName)">
<Output TaskParameter="Assemblies" PropertyName="IntermediateTargetAssembly" />
</GetAssemblyIdentity>
<PropertyGroup>
<DacVersion>$(IntermediateTargetAssembly.Split(',')[1].Split('=')[1])</DacVersion>
</PropertyGroup>
</Target>
</Project>
根据其他堆栈工作流线程上的建议,使用以下内容更改了 .sqlproj 文件。为我工作。
导入标签中的 $(MSBuildToolsPath) 到 $(MSBuildBinPath)
我在一个使用各种 class 偶尔更新的库的网站上工作。其中一个库是一个 sqlproj 文件,我相信它是用 VS2010 制作的。它是其他库的依赖项,我无法 build/rebuild 我的解决方案,因为我不断收到此错误,因此不会生成 DLL。当我第一次在 VS2013 中打开该项目时,我会收到一份在我的浏览器中打开的迁移报告。但是迁移表明它是成功的。当我尝试构建项目时,出现错误:
Error 1 02019: Invalid target type for /target: must specify 'exe', 'winexe', 'library', 'module', 'appcontainerexe' or 'winmdobj' CSC
我尝试按照基本相同的问题就此问题提出一些建议,但没有成功。 Project fails to load due to missing SqlServer.targets file after upgrading to Visual Studio 2013 似乎该问题中也有一些未解决的问题。
任何帮助都会很棒。很高兴提供更多详细信息 and/or 编辑问题以使其更笼统。提前致谢。
虽然 Project fails to load due to missing SqlServer.targets file after upgrading to Visual Studio 2013 中的 none 答案对我有用,而且 Stack Overflow 上没有其他人有想法,但事实证明这是一个与 [=17= 中的向后兼容性相关的错误] 2013 和 SSDT(SQL 服务器开发人员工具)。此论坛中的一条评论解决了我的问题:
https://connect.microsoft.com/SQLServer/feedbackdetail/view/979839
Posted by bsclifton on 11/15/2014 at 7:18 AM
Had this issue too with the Community 2013 edition; Going to Tools->Extensions and Updates and updating "Microsoft SQL Server Update for database tooling" resolved the issue :)
我在 .sqlproj 的 VS2017 上收到了相同的错误消息。 它有助于在 .targets 文件中添加 DefaultTargets 参数。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SetDacVersionToAssemblyVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Target Name="SetDacVersionToAssemblyVersion" AfterTargets="CoreCompile" Condition=" '$(EnableDacVersionFromAssembly)' == 'True' ">
<GetAssemblyIdentity AssemblyFiles="$(IntermediateTargetFullFileName)">
<Output TaskParameter="Assemblies" PropertyName="IntermediateTargetAssembly" />
</GetAssemblyIdentity>
<PropertyGroup>
<DacVersion>$(IntermediateTargetAssembly.Split(',')[1].Split('=')[1])</DacVersion>
</PropertyGroup>
</Target>
</Project>
根据其他堆栈工作流线程上的建议,使用以下内容更改了 .sqlproj 文件。为我工作。
导入标签中的 $(MSBuildToolsPath) 到 $(MSBuildBinPath)