这个问题有很多解决方案,请阅读下面的所有答案,它们也可以帮助您解决问题.如果您找到解决此问题的新方法,请在答案中记录
我试图将System.Web.Optimization添加到我的ASP.NET Web窗体解决方案.我通过NuGet包添加了Microsoft ASP.NET Web Optimization Framework.它将Microsoft.Web.Infrastracture和WebGrease(1.5.2)添加到引用中.
但是,当我跑
<%= System.Web.Optimization.Scripts.Render("~/bundles/js")%>
Run Code Online (Sandbox Code Playgroud)
我得到运行时错误
Could not load file or assembly 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
我已经尝试将assemblyBinding添加到Web.Config
<runtime>
<legacyUnhandledExceptionPolicy enabled="1"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.5.2.14234"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)
但没有任何运气.
我注意到我的WebSite的Web配置包含这一行
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Run Code Online (Sandbox Code Playgroud)
如果我用它替换它
<configuration>
Run Code Online (Sandbox Code Playgroud)
然后一切正常,我没有得到运行时错误.不幸的是,我需要xmlns.我项目的其他组件依赖于它.
为什么当架构指向v2.0时,Optimization会尝试加载旧版本?有没有办法强制它加载最新或唯一可用的WebGrease.dll?
如果不改变,我还能尝试什么
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> ?
Run Code Online (Sandbox Code Playgroud)
感谢您提供任何帮助!
编辑:1)附加FusionLog结果.也许它会有所帮助
=== Pre-bind state information ===
LOG: User = …Run Code Online (Sandbox Code Playgroud) c# asp.net asp.net-mvc bundling-and-minification asp.net-optimization
我已经使用名为'Projects'的localDB了一段时间了.这是默认情况下ASP.NET MVC 5项目创建的数据库.然而,突然它停止了,我无法连接到它,也没有重新启动它
SqlLocalDb start Projects
Run Code Online (Sandbox Code Playgroud)
我明白了
The specified LocalDB instance does not exist.
Run Code Online (Sandbox Code Playgroud)
我看到了文件夹
C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects
Run Code Online (Sandbox Code Playgroud)
另外,我有v11.0 in
C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0
Run Code Online (Sandbox Code Playgroud)
我能够连接到v11.
我还可以尝试重新连接它吗?
连接字符串是
<add name="DefaultConnection" connectionString="Data Source=(localdb)\Projects;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
编辑
我尝试将Db文件附加到连接字符串
AttachDbFileName=C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects\master.mdf;
Run Code Online (Sandbox Code Playgroud)
但是,我仍然无法连接
A network-related or instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the instance name is correct
and …Run Code Online (Sandbox Code Playgroud) 我的一些样式使用url(../ img/sprites/main_sprite.png)来开发和阶段中的本地资源.但是在生产中我使用CDN并且我的所有静态资源都在其上.是否有可能转换bundle以使.css中的所有url都被cdn路径替换?
例如:
.Logo {
background-image: url(../img/sprites/main_sprite.png);
}
Run Code Online (Sandbox Code Playgroud)
但是,在制作中我希望如此
.Logo {
background-image: url(http://MyCdn.com/img/sprites/main_sprite.png);
}
Run Code Online (Sandbox Code Playgroud)
我已经使用CssRewriteUrlTransform()将我的相对路径重写为绝对路径,因此可以在捆绑后找到资源.
我正在考虑将课程扩展为类似的东西
public string Process(string includedVirtualPath, string input)
{
if (_useCdn)
{
return new CssRewriteUrlTransform().Process(_cdn + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
else
{
return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,Process必须具有VirtualPath,否则在我追加CDN路径时会抛出异常.
是否有相应的类来重写带有CDN的URL?
asp.net asp.net-mvc bundling-and-minification asp.net-bundling
我一直在寻找使用ASP.NET优化框架和UseCDN = true并且HashContent Number附加到Bundles的URI的任何示例或引用.不幸没有运气.以下是我的代码的简化示例.
我的捆绑代码非常简单
bundles.UseCdn = true;
BundleTable.EnableOptimizations = true;
var stylesCdnPath = "http://myCDN.com/style.css";
bundles.Add(new StyleBundle("~/bundles/styles/style.css", stylesCdnPath).Include(
"~/css/style.css"));
Run Code Online (Sandbox Code Playgroud)
我从Master页面调用Render
<%: System.Web.Optimization.Styles.Render("~/bundles/styles/style.css")%>
Run Code Online (Sandbox Code Playgroud)
生成的代码是
<link href="http://myCDN.com/style.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)
如果我禁用UseCDN
/bundles/styles/style.css?v=geCEcmf_QJDXOCkNczldjY2sxsEkzeVfPt_cGlSh4dg1
Run Code Online (Sandbox Code Playgroud)
当useCDN设置为true时,如何使bunlding添加v =哈希内容?
编辑:
我试过用
<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/styles/style.css",true)%>
Run Code Online (Sandbox Code Playgroud)
如果CdnUse = true,它仍然不会生成v = hash
注意:另一篇文章(在Framework 3.5中设置具有服务器标记<%=%>的可见属性)也为此问题提供了更详细的答案.
我很好奇为什么内联代码在这种情况下不像代码隐藏.
我有一个包含如下设置的类:
// Collection of Settings
public static class FeatureControl
{
public static bool SettingName = true;
}
Run Code Online (Sandbox Code Playgroud)
Code Behind按预期执行.
Label1.Visible = FeatureControl.SettingName; //true
Label2.Visible = !FeatureControl.SettingName; //false
Run Code Online (Sandbox Code Playgroud)
无论SettingName的值如何,内联代码始终显示两个标签:
<asp:Label ID="Label1" Visible="<%#FeatureControl.SettingName%>" runat="server" > </asp:Label>
<asp:Label ID="Label2" Visible="<%#FeatureControl.SettingName != true %>" runat="server" ></asp:Label>
Run Code Online (Sandbox Code Playgroud) 我想在Windows 10上运行容器并将我的本地文件夹安装到容器中的文件夹中。让我们以以下命令为例,但是任何容器都可以。
docker run -v "$(pwd)":/data -- name mongo -d mongo mongod --smallfiles
Run Code Online (Sandbox Code Playgroud)
问题出在pwd命令上。在Unix环境中,它返回相对路径,但是在Windows中,它返回绝对路径。
我尝试用“。”替换“ $(pwd)”。甚至没有运气的“ ./”。我也试过了($pwd | Resolve-Path -Relative)。在所有情况下
Error parsing reference: ":/data" is not a valid repository/tag.
Run Code Online (Sandbox Code Playgroud)
有效的方法是用替换“ $(pwd)” /d/path/to/my/folder。
docker run -v /d/path/to/my/folder:/data -- name mongo -d mongo mongod --smallfiles
Run Code Online (Sandbox Code Playgroud)
(这是d:\ path \ to \ my \ folder),安装正确。但是,我想使该命令通用,因此可以从主机上的任何文件夹运行该命令。
此代码应该将我的Section标记为可选.
_layout.cshtml
@RenderSection("ViewStyles",false)
Run Code Online (Sandbox Code Playgroud)
要么
@RenderSection("ViewStyles",required:false)
Run Code Online (Sandbox Code Playgroud)
我试过了两个.
然而,它引发了一个例外
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)
我尝试在我的视图中添加一个空白部分,不需要使用ViewStyles部分
@section ViewStyles { }
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的例外.
还有另一种解决方法吗?
是否可以根据查询字符串中的参数值设置Web Api 2路由。
我有以下要求:
/api/controller?data=param.data1应该转到控制器的动作1
/api/controller?data=param.data2应该转到控制器的动作2,其他任何数据值都必须转到动作3。
我知道可以使用正则表达式设置约束,但是我发现的示例是针对通用场景的,并不像我的具体。
这就是我尝试过的
config.Routes.MapHttpRoute(
name: "test",
routeTemplate: "api/Hub/{data2}",
defaults: new { action = "Test" },
constraints: new { data2 = @"^(param\.data2)$" }
);
Run Code Online (Sandbox Code Playgroud)
有办法吗?也许有更好的方法?
重要说明,我无法更改服务的URI。它必须具有?data = [value]这是旧版系统的后备功能:(
在进行网络容器课程网络容器课程时遇到了错误
Template parsing error: template: :1: unclosed action
Run Code Online (Sandbox Code Playgroud)
执行时
docker inspect --format='{{json .NetworkSettings.Networks}}' db
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
我想将 ISO_URL 作为命令行参数传递。我尝试遵循https://www.packer.io/docs/templates/user-variables.html上的示例
我的变量部分看起来像
"variables": {
"build_version": "1.0.0",
"iso_checksum_type":"md5",
"iso_checksum":"453312bf56fc45669fec5ebc0f025ac7",
"iso_url":"c:\fake.iso"
}
Run Code Online (Sandbox Code Playgroud)
变量引用
...
"iso_checksum": "{{user `iso_checksum`}}",
"iso_checksum_type":"{{user `iso_checksum_type`}}",
"iso_url": "{{user `iso_url`}}",
...
Run Code Online (Sandbox Code Playgroud)
构建命令是
packer build -var 'iso_url=c:\debian.iso' packerio.json
Run Code Online (Sandbox Code Playgroud)
但是,iso_url 没有被覆盖,加壳器正在尝试下载 fake.iso
为什么?
确切的结果是
virtualbox-iso output will be in this color.
==> virtualbox-iso: Downloading or copying Guest additions
virtualbox-iso: Downloading or copying: file:///C:/Program%20Files/Oracle/VirtualBox/VBoxGuestAdditions.iso
==> virtualbox-iso: Downloading or copying ISO
virtualbox-iso: Downloading or copying: file:///c:/fake.iso
virtualbox-iso: Error downloading: GetFileAttributesEx c:/fake.iso: The system cannot find the file specified.
==> virtualbox-iso: …Run Code Online (Sandbox Code Playgroud) 在PlayStation 3、4,Xbox360,Xbox One上已重现此问题。所有版本的AjaxPro都存在此问题。
发出Ajax请求(使用AjaxPro)时,服务器返回正确的内容。但是,回调函数中返回的对象是
{
"error":
{
"Message":"","Type":"ConnectFailure","Status":200},"value":null,
"request":
{
"method":"MethodName",
"args":
{
"Argument1":"1111","Argument2":"2222"
}
},
"context":null,"duration":18
}
}
Run Code Online (Sandbox Code Playgroud) asp.net ×5
asp.net-mvc ×5
docker ×2
.net ×1
ajaxpro ×1
c# ×1
localdb ×1
optimization ×1
packer ×1
powershell ×1
webforms ×1