Puis-je contrôler la version des nouveaux rapports SSDT dans Visual Studio?

j'utilise L'add-on Visual Studio SSDT BI pour créer des rapports pour les services de rapports du serveur SQL. Le projet que j'ai créé est configuré pour cibler les versions SQL Server 2008/2012/2014, car ce sont les serveurs SQL cibles que nos clients ont.

cependant, les fichiers de rapport créés dans Visual Studio semblent tous cibler SQL Server 2016. Si je copie le rdl fichiers vers un autre serveur et les télécharger via le navigateur, on me dit qu'ils sont d'une version plus récente de SSRS et ne peut pas être téléchargé.

Le problème est double:

  1. <Report> la balise contient un nouvel espacenom 2016 qui remplace celui de 2010 qui existait dans les versions précédentes:

    <Report 
      xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
      xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" 
      xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition">
    
  2. le nouveau format de fichier inclut une section de mise en page des paramètres qui est définie dans l'espace de noms 2016, mais pas dans celui de 2010:

     <ReportParametersLayout>
                .
                .
                .
     </ReportParametersLayout>
    

si je ramène l'espace de noms à 2010 et supprimer le ReportParametersLayout section, le rapport fonctionne très bien dans SQL 2012, mais Visual Studio le remettra la prochaine fois que j'ouvre le rapport.

(fait intéressant, si je déploie les rapports directement à partir de VS, je reçois un avertissement que la mise en page du paramètre n'est pas supportée en 2012 et est supprimée, ce qui implique que Visual Studio est en train de corriger les définitions du rapport à la volée.)

y a-t-il un moyen de forcer VS à quitter les fichiers de rapport dans le format des versions précédentes?

17
demandé sur Michael Edenfield 2016-03-17 23:34:59

2 réponses

C'est par la conception.

voir https://connect.microsoft.com/SQLServer/Feedback/Details/2103422

Posté par Riccardo [MSFT] sur 12/18/2015 à 5:07 PM

De par sa conception, TargetServerVersion affecte les fichiers de sortie de construction, pas les fichiers source. Vous déployez les fichiers de sortie de construction (que vous pouvez récupérer dans le dossier \bin\Debug ou \bin\Release de votre projet) plutôt que les fichiers source.

12
répondu Rami A. 2016-04-27 00:58:55

avait le même problème avec la version 14.0.60305.0 de SSDT.

1) j'ai pu changer l'attribut de namespace xmls dans le <report> balise de chacun de mes rapports pour correspondre à l'environnement cible. Référence https://msdn.microsoft.com/en-us/library/cc627465.aspx sur la façon de déterminer la version de schéma RDL du serveur cible.

2) j'ai changé la Verversion targets dans les pages de propriétés du projet en "SQL Server 2008 R2, 2012, ou 2014". Référence http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/ pour voir comment ouvrir la page Propriétés du projet.

HTH

3
répondu aEon' 2016-03-26 10:01:56