Kiedy próbuję opublikować aplikację Lazur otrzymuję ten błąd. C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.Web.Publishing.targets (4283,5): Błąd: Argument "String połączenia" ibasis_Data_Transfer.mytestdbEntities-Web.config nie może być puste lub puste.Azure: Web.config Connection String 'argument nie może być pusty lub pusty
Moja App.Config ma ciąg połączenia. na przykład
<add name="mytestdbEntities" connectionString="metadata=res://*/mytestappModel.csdl|res://*/mytestappModel.ssdl|res://*/mytestappModel.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:srv-mytestapp-home.database.windows.net,1433;initial catalog=mytestdb;persist security info=True;user id=blabla;password=blabla;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Nie wiem, od czego zacząć szukanie rozwiązania, ponieważ błąd nie został wymieniony w internecie w żadnym miejscu w odniesieniu do lazuru.
ibasis - Web Deploy.pubxml
<?xml version="1.0" encoding="utf-8" ?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<PublishProvider>AzureWebSite</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>http://ibasis.azurewebsites.net</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
<MSDeployServiceURL>ibasis.scm.azurewebsites.net:443</MSDeployServiceURL>
<DeployIisAppPath>ibasis</DeployIisAppPath>
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<UserName>$ibasis</UserName>
<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="ibasis_Data_Transfer.ibasisLiveEntities" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbCodeFirst">
<Source Path="DBContext" DbContext="ibasis_Data_Transfer.ibasisLiveEntities, ibasis-Data-Transfer" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)ibasis_Data_Transfer.ibasisLiveEntities-Web.config Connection String" />
</ItemGroup>
<ItemGroup>
<_ConnectionStringsToInsert Include="ibasis_Data_Transfer.ibasisLiveEntities" />
</ItemGroup>
</Project>
Aktualizacja: O ile mogę powiedzieć publikację VS prostych Apps do Azure z „pierwszej bazy” podmiot typu (edmx) plików nie jest możliwe.
Auto generowane .... Program Web Deploy.pubxml jest wypełniany niezgodnym ze spamem i "DeployParameterPrefix", którego nie można usunąć i przerwać kompilację.
Chciałam tylko wywołać prostą procedurę przechowywaną, np.
myappLiveEntities db = new myappLiveEntities();
db.DoSomeDatabaseWork();
Czy zrobię to metodą "starej szkoły".
Czy nadpisujesz ciąg połączenia podczas publikowania? Czy masz transformację konfiguracji, która miesza się z łańcuchem połączenia? –
_ConnectionStringsToInsert prawdopodobnie coś robi, ale nie jest pewien co. Czy to ustawienie portalu? Portal nie przyjmuje ciągów połączeń w tym formacie: "metadata = res: //*/mytestappModel.csdl | res ......." – user964787
Możliwy duplikat ciągu [The Connection DefaultConnection-Web.config ' Argument nie może być pusty ani pusty. VS2013] (http://stackoverflow.com/questions/28996604/the-defaultconnection-web-config-connection-string-argument-cannot-be-null-or) –