Tag: asp.net

与Docker的Asp.Net核心 – 包括重复的“内容”项目

当我想用docker部署我的应用程序时遇到问题。 我正在使用Docker的ASP.Net核心。 这是一个错误消息: /usr/local/share/dotnet/sdk/1.0.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets(188,5):错误:包含重复的“内容”项目。 .NET SDK默认包含项目目录中的“内容”项目。 您可以从项目文件中删除这些项目,或者如果您想明确将它们包含在项目文件中,请将“EnableDefaultContentItems”属性设置为“false”。 有关更多信息,请参阅https://aka.ms/sdkimplicititems 。 重复的项目是:'wwwroot / _version.txt'[/Users/xxxxxx/Projects/api-test/TestApi/TestApi.csproj] 这是我的csproj <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1.1</TargetFramework> <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath> <UserSecretsId>0a7aa24d-009c-4d0b-b0fd-e8be397b0784</UserSecretsId> </PropertyGroup> <ItemGroup> <PackageReference Include="AutoMapper" Version="6.0.2" /> <PackageReference Include="CoreCompat.System.Drawing" Version="1.0.0-beta006" /> <PackageReference Include="Google.Cloud.Storage.V1" Version="1.1.0-beta01" /> <PackageReference Include="HtmlAgilityPack.NetCore" Version="1.5.0.1" /> <PackageReference Include="MailKit" Version="1.16.1" /> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Version="1.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" […]

在Docker中一起安装SQL和一个新的ASP.Net Core项目

我正在玩耍,试图学习VS中的一些新的ASP.net核心和docker工具,并且希望在ASP.net Core项目旁边安装一个SQL副本,以便于部署。 这将是一个小项目,我想保持尽可能简单的部署。 我已经完成了以下步骤,但已经卡住了 在VS 2017中创build了一个新的ASP.net Core 1.1 Web应用程序项目 将身份validation更改为“个人用户帐户”(我怀疑这个问题对于这个问题很重要,不过我总是把它包括在内) 在向导中启用Docker支持 编译项目拉下所有的组件,并确保它运行(它) 按照此处的示例编辑docker-compose文件夹中的docker-compose.yml 版本:'3' 服务:photoviewer:image:photoviewer build:上下文:./PhotoViewer dockerfile:Dockerfile depends_on:db db:image microsoft / mssql-server-linux environment:SA_PASSWORD:“MySuperSecretPassword”ACCEPT_EULA:“Y” 当我尝试build立这个我得到以下错误信息 Error MSB4018 The "PrepareForBuild" task failed unexpectedly. Microsoft.DotNet.Docker.CommandLineClientException: Version mismatch: file c:\…\Projects\PhotoViewer\docker-compose.yml specifies version 3.0 but extension file c:\…\Projects\PhotoViewer\docker-compose.override.yml uses version 2.0. 我试着find哪里设置docker文件到版本3.0,但我似乎无法find它。 谢谢您的帮助

Docker组合起来创build容器,但是并没有启动它

我需要在PowerShell中手动执行Visual Studio 2017在从我的解决scheme(asp.net核心Web应用程序)创buildDocker镜像时自动执行的操作。 docker-compose -f "docker-compose.yml" -f "docker-compose.override.yml" -f "docker- compose.vs.release.yml" -p dockercompose32 up –build -d 它会创build新的图像(当我从头开始构build时,如果项目中的某些内容发生更改,则不会重新构build旧图像), docker ps显示: CONTAINER ID COMMAND CREATED STATUS PORTS NAMES 3b9b2996cf61 "tail -f /dev/null" 20 minutes ago Up 20 minutes 0.0.0.0:32812->80/tcp dockercompose32_some_name 但在http://localhost:32812/api/values/我得到一个错误GET http://localhost:32804/api/values/ net::ERR_CONNECTION_REFUSED ,如果我运行GET http://localhost:32804/api/values/ net::ERR_CONNECTION_REFUSED运行相同的图像容器GET http://localhost:32804/api/values/ net::ERR_CONNECTION_REFUSED docker run -d -p 4000:80 image_name它的作品。 我错过了什么?

如何在Docker .NET Core Web应用程序中保存数据?

我无法理解如何在运行Docker的WebApi-app中处理数据。 在我的应用程序中,用户可以上传这样存储的文件: ~\App_Data\accounts\user123\files\<sha256>.bin 没有configuration任何卷,与我的应用程序图像的Docker容器似乎工作正常,写入文件没有任何问题。 现在我想configuration,以便文件结束的地方,我可以明确指定,而不是在默认docker卷文件夹。 我假设我需要创build一个卷映射? 我试图创build一个文件夹,并将其映射到“/ App_Data”。 它仍然像以前一样工作,但我仍然没有看到这个文件夹中的任何文件。 这个文件夹的写权限是否存在问题? 如果没有访问权限,Docker将回退并写入默认卷? 什么用户/组应该有写入权限到这个文件夹? 有没有“docker”用户? 我在Synology NAS上运行这个程序,所以我只使用标准的Docker UI和“添加文件夹”button。 这是我试过的文件夹:

基于环境的连接string与ASP NET CORE和Docker支持

我有一个ASP.NET核心应用程序与Docker的支持和下面的Startup.cs服务configuration: string connectionString = Environment.GetEnvironmentVariable("ORACLE_CONNECTION_STRING"); services.AddDbContext<BloggingContext>(options => options.UseOracle(connectionString)); 我在docker-compose.override.yml设置了连接string: version: '2' services: continuouseverything: environment: – ASPNETCORE_ENVIRONMENT=Development – ORACLE_CONNECTION_STRING=Server=(DESCRIPTION = (ADDRESS = (PROTOCOL=TCP) (HOST=LOCALHOST) (PORT=1521)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=xe.oracle.docker))); direct=true; User Id=system; Password=oracle; Unicode=true ports: – "80" 当我通过Docker启动应用程序时,我工作的很好。 在debugging器中,我可以看到connectionStringvariables得到了正确的连接string。 但是,当我尝试运行Add-Migration InitialCreate时,由于connectionStringvariables为null,因此在调用services.AddDbContext()时,Startup中出现ArgumentNullException 。 我怎样才能做到这一点, EnvironmentVariable的设置就像在docker-compose文件中定义的一样?

手动运行的容器存在与代码145

我试图通过下面的命令手动运行通过Visual Studio 2017,使用docker命令在PowerShell中创build的图像 docker运行-d -p 12345:80 webapplication1:dev 但是容器立即退出Code 145。 PS C:\WINDOWS\system32> docker images REPOSITORY TAG IMAGE ID CREATED SIZE webapplication1 dev b4f4585be3d1 6 minutes ago 305MB PS C:\WINDOWS\system32> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 41aa3e20e4be webapplication1:dev "dotnet WebApplica…" 11 minutes ago Exited (145) 11 minutes ago condescending_shaw 运行docker日志condescending_shaw显示以下内容 PS C:\WINDOWS\system32> […]

Docker发布不在Azure上更新

我正在使用ASPnet Boilerplate 。 我的问题是,似乎由于某种原因,ASP.Core解决scheme,在初始发布到Azure之后,从未真正在随后的发布操作上得到更新。 我做了什么: 我正在使用VS 2017 我使用了ASP核心模板。 我删除了与Angular客户端相关的所有信息,因为我不需要这些信息。 我使用了Project | Docker支持…主机项目。 我为Azure应用服务创build了一个发布configuration文件,除了在西欧地区调整基于位置的内容之外,基本上保留了默认设置。 我出版了。 我发现networking应用程序正在运行,azureurl / swagger向我展示了所有暴露的应用程序服务的文档。 我向应用程序服务添加另一种方法 我使用IISExpress或Kestrel的控制台应用程序版本在本地构build和运行 localurl / swagger正确显示添加的API调用 我再次发表, 我检查了azureurl / swagger,没有任何改变,增加的API调用仍然是不可见的(我尝试用caching清理硬浏览器刷新,也没有效果。) 我创build一个新的发布configuration文件,以一个新的天青应用程序服务。 我在那里发表。 newazureurl / swagger显示添加的API调用 所以可能我做错了 – 但是什么? 这对我来说真的很有戏剧性,因为现在每当我想更新Azure版本时,我需要删除应用程序服务并重新创build它,而且更有问题的是,docker push需要再次推送图像的所有图层。 因此,每个部署必须上传大约300MB。 不幸的是,在我住的地方,我能得到的最佳上传速度大约是1mbit / s,所以平均而言,我等了一个小时。 任何帮助将不胜感激。 非常感谢,马克斯

无法在Docker上运行VS项目

首先,我正在学习如何从命令行使用Docker。 然后,想看看我能用Visual Studio做什么。 我的目标是使用Visual Studio 2017创buildASP.NET Core Web API,并使用容器开发,debugging,testing和部署该Web API。 该解决scheme有两个项目:一个是通常的ASP.NET Core项目,另一个是Docker Compose: 正如你所看到的,它和你在任何其他ASP.NET Core应用程序中看到的是相同的Program.cs和Startup.cs,这是相同types的控制器,所以C#代码中什么都不知道Docker或容器或者将要进入的运营环境。 Docker与这个特定项目相关的唯一的事情就是Docker文件的存在(你可以看到它在图像中打开,并带有build立另一个图像的说明)。 特定的图像将成为一个Linux映像。 所以,我需要做的一件事就是进入Docker菜单并切换到Linux容器: 重现问题的步骤 启动VS2017 创build一个新的项目,C#,ASP.NET核心Web应用程序(启用Docker支持) 使用Docker运行和debugging(F5) 预期的行为 应用程序运行并允许其debugging。 实际行为 由于错误,构build失败: 1>—— Build started: Project: docker-compose, Configuration: Debug Any CPU —— 1>docker-compose -f "C:\Users\tiagoperes\Documents\Visual Studio 2017\Projects\PsWebApi\docker-compose.yml" -f "C:\Users\tiagoperes\Documents\Visual Studio 2017\Projects\PsWebApi\docker-compose.override.yml" -f "C:\Users\tiagoperes\Documents\Visual Studio 2017\Projects\PsWebApi\docker-compose.vs.debug.yml" -p dockercompose1712142422 config 1>services: 1> pswebapi: […]

适用于AWS ECS的ASP.NET Core需要VIRTUAL_HOST

我将一个ASP.NET Core Web API应用程序作为Docker镜像部署到AWS ECS,因此请使用任务定义文件。 事实certificate,只有当我指定环境variablesVIRTUAL_HOST与我的EC2实例的公共DNS(如在这里突出显示: http : //docs.servicestack.net/deploy-netcore-docker-aws-ecs ),请参阅taskdef.json下面: { "family": "…", "networkMode": "bridge", "containerDefinitions": [ { "image": "…", "name": "…", "cpu": 128, "memory": 256, "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 0, "protocol": "http" } ], "environment": [ { "name": "VIRTUAL_HOST", "value": "ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com" } ] } ] } 一旦应用程序部署到AWS ECS,我打到端点 – 例如http://ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/v1/ping […]

此平台不支持关键字“集成安全性”

我想在docker for window中部署一个dotnet Core WebApplication并使用sqlserver,这是我的ConnectionString: { "ConnectionStrings": { "Default": "Server=10.0.75.0; Database=WeDistributeDb; User=zac; Password=123qwe;" // "Default": "DataSource=10.0.75.0\/WeDistributeDb; User=zac; Password=123qwe;" }, "App": { "WebSiteRootAddress": "http://localhost:9903/" } } 但是当我开始我的形象时,这是一个错误: 未处理的exception:System.NotSupportedException:此平台不支持关键字“集成安全性”。 有什么问题? 我该怎么办?