Tag: web config

allowDefinition ='MachineToApplication'msbuild错误

我们有一个ASP.NET MVC 4-5个不同的构buildconfiguration。 无论何时我们更改构buildconfiguration,我们都需要删除Web项目的obj文件夹,因为我们得到'allowDefinition ='MachineToApplication'错误。 一个痛苦,但我们通过删除前/后生成事件中的文件夹pipe理。 现在我需要configuration我们的CI来构build部署包。 这意味着我不能删除obj文件夹。 每次我编译例如下面的msbuild参数 / p:CreatePackageOnPublish = true / p:DeployOnBuild = true 我收到错误: web.config(123):错误ASPCONFIG:在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的节是错误的。 此错误可能是由于虚拟目录未被configuration为IIS中的应用程序。 据我了解,问题是在项目中有多个.config文件 – 在我们的情况下,没有。 我真的可以用一些帮助来find一个解释,并find一个永久性的(没有黑客)修复。 编辑:这个问题被标记为重复,但在2个线程中相应的答案和原因,是明显不同的。 不知道这个标签有什么意图 – 在发布这个问题之前,我已经阅读了这篇文章,因为它没有回答我的问题。 这个错误信息有多种原因。 这是“相似的”,但绝对不是重复的!

如何从Web.config中读取system.net/mailSettings/smtp

这是我的web.config邮件设置: <system.net> <mailSettings> <smtp deliveryMethod="Network" from="smthg@smthg.net"> <network defaultCredentials="true" host="localhost" port="587" userName="smthg@smthg.net" password="123456"/> </smtp> </mailSettings> </system.net> 这里是我如何尝试从web.config读取值 var smtp = new System.Net.Mail.SmtpClient(); var credential = new System.Net.Configuration.SmtpSection().Network; string strHost = smtp.Host; int port = smtp.Port; string strUserName = credential.UserName; string strFromPass = credential.Password; 但凭据始终为空。 我怎样才能访问这些值?

VS 2015 RTM web.config全局元素的“configuration”已经被声明

通过全新安装VS 2015 RTM,在3台PC上解决此问题。 在VS 2013中打开文件时没有任何问题。 修复:Global元素的“configuration”中描述的步骤已经被声明 ,其他相关问题没有帮助,因为VS忽略了XML模式对话框上的任何更改。 想法?

ASP.NET MVC和两个Web.config文件

Web.config应该在ASP.NET MVC项目中去哪里? 我刚碰到一个错误,试图做到这一点: _cnstr = System.Configuration.ConfigurationManager. ConnectionStrings["production"].ConnectionString; 默认的MVC模板将Web.config放在项目的根目录下。 如果你进入项目的属性(垂直标签的屏幕)。 转到设置并尝试创build应用程序设置,它会提示您没有configuration文件。 当它创build文件时,它会在Views文件夹的底部执行。 所以现在我有两个 Web.config文件。 这是应该的吗? 我想我应该把我的连接string在“视图”web.config,以避免错误。 思考? 这是在ASP.NET MVC位的最后一个版本中的错误? 更新:见大卫的答案

什么是WebResource.axd?

我有麻烦Web和WebResource.axd麻烦。 什么是WebResource.axd?

如何让NLog写入数据库

我试图让NLoglogin到我的数据库日志表,但无济于事。 我敢肯定,我的连接string是正确的,因为它与我的web.config中其他地方一样。 写出来的文件工作正常,所以我知道这不只是NLog,但一定是我做错了什么。 以下是我的NLogconfiguration: <!– NLOG CONFIGURATION –> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target name="file" xsi:type="File" fileName="${basedir}/logs/Log ${shortdate}.txt" layout="${longdate} ${callsite} ${level}: ${message} ${exception:format=Message,StackTrace} ${stacktrace}" /> <target type="Database" name="database" connectionstring="MyConnectionString"> <commandText> insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [Exception], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @exception, @stackTrace); </commandText> <parameter name="@createDate" layout="${longdate}"/> <parameter name="@origin" layout="${callsite}"/> <parameter name="@logLevel" layout="${level}"/> […]

如何从web.config中的自定义部分读取值

我在web.config文件中得到了下面的示例代码。 <configuration> <configSections> <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <secureAppSettings> <add key="userName" value="username"/> <add key="userPassword" value="password"/> </secureAppSettings> </configuration> 我的新的部分secureAppSettings被解密,并且里面有两个密钥。 现在在我的代码中,我想要访问这些键如下所示: string userName = System.Configuration.ConfigurationManager.secureAppSettings["userName"]; string userPassword = System.Configuration.ConfigurationManager.secureAppSettings["userPassword"]; 但是这些字段返回null 。 我怎样才能得到的价值?

使用Web.Config转换的高级任务

有谁知道是否有一种方法来“变换”特定的值部分,而不是取代整个值或属性? 例如,我有几个appSettings条目指定不同web服务的Url。 这些条目在开发环境中与生产环境略有不同。 有些人比其他人微不足道 <!– DEV ENTRY –> <appSettings> <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.dev.domain.com/v1.2.3.4/entryPoint.asmx" /> <add key="serviceName2_WebsService_Url" value="http://ma1-lab.lab1.domain.com/v1.2.3.4/entryPoint.asmx" /> </appSettings> <!– PROD ENTRY –> <appSettings> <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" /> <add key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" /> </appSettings> 请注意,在第一个条目中,唯一的区别是“.prod”中的“.dev”。 在第二项中,子域是不同的: “ws.ServiceName2”中的“ma1- lab.lab1” 到目前为止,我知道我可以在Web.Release.Config中做这样的事情: <add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" /> <add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" /> 然而,每次该Web服务的版本更新,我将不得不更新Web.Release.Config,这打破了简化我的web.config更新的目的。 我知道我也可以将这个url分成不同的部分,并独立更新,但我宁愿把它全部放在一个关键字中。 我已经浏览了可用的web.config转换,但似乎没有齿轮towars我想要完成。 这些是我用作参考的网站: Vishal Joshi的博客 […]

web.config> configuration> runtime> assemblyBinding中生成的条目是什么意思/原因?

我已经在web.config文件中注意到了这一段,现在我正在试图理解目的是什么: <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> 所以,第一个条目似乎是这样说的: System.Web.Helpers是一个公钥标记为31bf3856ad364e35的从属程序集的名称。 将版本1.0.0.0到2.0.0.0redirect到版本2.0.0.0。 我最好的猜测是,它意味着在ASP.NET运行时环境中执行的任何代码都依赖于具有指定名称的程序集,该程序集也具有指定范围内的版本,就像执行指定版本指定的公钥。 这是否意味着如果我有一个Web项目依赖于一个类库,并且该类库有一个具有一个bindingRedirect的程序集的旧版本的引用,该代码将执行,如果它被编译为较新的版本?

ASP.Net不能创build/影子副本

开发ASP.Net应用程序时,我重复得到这个错误: Cannot create/shadow copy 'XXXXX' when that file already exists 其中XXXXX是一个随机的DLL。 通常,DLL是微软企业库中的一个DLL,但它有所不同。 这真的是随机的,这是非常令人沮丧的。 我会花几个小时没有得到错误,然后每10-20分钟就会得到一个错误。 我见过几个解决scheme。 比如这个问题 。 我试过使用清洁解决scheme选项,我也简单地重新启动我的本地IIS。 但是,它仍然以相同的随机但持续的频率出现。 我也看到很多人提到在configuration文件中使用这个选项: <hostingEnvironment shadowCopyBinAssemblies="false" /> 然而,其他人提到这是有问题的,绝对不能用于生产。 那么,我应该放弃并尝试shadowCopyBinAssemblies选项吗? (并且不要把这个改变复制到其他环境中。)我是唯一经常遇到这个问题的人吗? 注意:我正在使用Visual Studio 2008。