Diskuze: Problém se spouštěním aplikace na jiném PC
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 30 zpráv z 80.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Mám otevřeného správce konfigurace. Zaškrtnuto je Release, Any CPU, sestavení, ale nasazení nejde zaštrnout
Zkus si vytvořit novou platformu řešení, zvol "x86", nech tam kopírovat nastavení AnyCPU a zkus to...
Zkusil jsem publikovat prázdnou appku a toto je výsledek
Možná sis tím různým nastavováním něco udělal s VS. Zkusil bych dát VS do továrního nastavení...
Něco jsem objevil při přeinstalaci balíčků:
\packages\EntityFramework.6.1.3\tools\install.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?….
Spouštím jej normálně. Myslíš, že bych ho měl spouštět jako admin?
Ahoj. Nezlob se, že otravuji o svátcích.
Chyba je na 100% v ConnectionString. Můžeš mi poradit jak jej upravit?
Stávající App.config cypadá takto:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="DataContext" connectionString="metadata=res://*/Models.DataModel.csdl|res://*/Models.DataModel.ssdl|res://*/Models.DataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\ProtocolsDatabase.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
nejsem u pc, napis mi zitra PM a koukneme na to.
(LocalDB)\MSSQLLocalDB
Ty máš named instanci LocalDB? běžně je tam tedy (LocalDB)\v11.0 Pokud si stáhneš SQL Management Studio, jsi shcopný se připojit k tomu serveru pod MSSQLLocalDB ?
Potřeboval bych asi nejdříve zjistit na jaké verzi SQL to bylo vytvořené. Díval jsem se do instalovaných programů a je tam LocalDB 2014 i 2016. Jak to ověřím? Podle toho stáhnu ManagementStudio
Co jsem se dočetl, tak VS 2015 používá (LocalDB)\MSSQLLocalDB
Přes ManagementStudio jsem se normálně připojil
Zkoušel jsem to dát i do konstruktoru:
public DataContext()
: base(@"metadata=res://*/Models.DataModel.csdl|res://*/Models.DataModel.ssdl|res://*/Models.DataModel.msl;provider=System.Data.SqlClient;provider connection string=';data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\ProtocolsDatabase.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework';")
{
}
Tak už jsem to rozchodil. Problém byl v tom, že aplikace používá LocalDB 2016 a v ostatních PC byla LocalDB 2012. Stejně bych potřeboval poradit, jak psát aplikaci ve VS tak, aby se použila LocalDB 2012, aby aplikaci bylo možné spouštět ve starších PC.
Pardon, ale nepsal jsem, aby sis to zkontroloval už 18. prosince?
Takze je to SQL 2014. Musi byt 2014+ i na tom druhým PC. 2012 má jiný connection string.
Mohl sis ušetřit hodně trápení.. liší se connection string, viz:
http://www.michael-whelan.net/…tion-string/
Řešení - asi to nejlepší je, mít ten connection string nezávislý na verzi, tedy nechat tam to MSSQLLocalDB a nastavit tomu 11tkovýmu serveru ALIAS na MSSQLLocalDB.
Zobrazeno 30 zpráv z 80.