我最终在 Build Events,Post-build event 命令行中执行了此操作(猜测它可能会与 DOS 命令一起使用,这很“笨拙”,但我从未在几个论坛上得到回复):
复制 "$(TargetDir)$(TargetName).*" "$(DevEnvDir)PrivateAssemblies\"
IF 存在“c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 2010x64 存在)
如果存在“c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\私人集会”)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 2010x86 存在)
如果存在 "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" ( 复制 "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies")
如果存在 "c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2012x64 存在)
如果存在“c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\私人集会”)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 2012x86 存在)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies")
如果存在“c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 2013x64 存在)
如果存在“c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\私人集会”)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 2013x86 存在)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies")
如果存在 "c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 13.0-x64 exists )
如果存在“c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\私人集会”)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 13.0-x86 存在)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies")
如果存在“c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies”( echo Visual Studio 14.0-x64 存在)
如果存在“c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\私人集会”)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies”(echo Visual Studio 14.0-x86 存在)
如果存在“c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies”(复制“$(TargetDir)$(TargetName).*”“c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies")
网络停止“SQL Server 报告服务 (MSSQLSERVER)”
如果存在“C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\”(回显 SQL Server 2008-MSRS10 存在)
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" (复制 "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\ MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" )
如果存在“C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\”(回显 SQL Server 2012-MSRS11 存在)
如果存在“C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\”(复制“$(TargetDir)$(TargetName).*”“C:\Program Files\Microsoft SQL Server\ MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" )
如果存在“C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\”(回显 SQL Server 2014-MSRS12 存在)
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" (复制 "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\ MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" )
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 201x-MSRS13 存在)
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" (复制 "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\ MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" )
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 201x-MSRS14 存在)
如果存在 "C:\Program Files\Microsoft SQL Server\MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" (复制 "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\ MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" )
网络启动“SQL Server 报告服务 (MSSQLSERVER)”
授予:
复制 "$(TargetDir)$(TargetName).*" "$(DevEnvDir)PrivateAssemblies\"
很可能是多余的(将在命令中再次发生),但是“我被覆盖了”(即,如果我在 VS2013 中构建 SSRS DPE,在 SQL Server 2012 中注册它,我将在 VS2010 中看到扩展当我创建报表或需要自定义报表查询设计器时,基于选择的(自定义)数据源)。
另外,这里有一些不错的处理器特定逻辑:http : //code-jedi.com/blog/post/Using-Platform-Specific-Libraries-from-a-Platform-Agnostic-Project.aspx
罗布·K