小编Rom*_*Mik的帖子

无法加载文件或程序集"WebGrease"之一的依赖项.定位的程序集的清单定义与程序集引用不匹配

这个问题有很多解决方案,请阅读下面的所有答案,它们也可以帮助您解决问题.如果您找到解决此问题的新方法,请在答案中记录

我试图将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

17
推荐指数
4
解决办法
4万
查看次数

指定的LocalDb实例不存在

我已经使用名为'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)

asp.net-mvc localdb

13
推荐指数
1
解决办法
2万
查看次数

在ASP.NET捆绑和缩小中将样式的URL转换为CDN URL

我的一些样式使用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

7
推荐指数
1
解决办法
728
查看次数

使用CDN和HashContent(Cache Buster或指纹)的ASP.NET优化框架(JS和CSS缩小和捆绑)

!警告!!!

接受的答案是好的,但如果你有一个高流量的网站,有可能多次附加v =.该代码包含一个检查器.

我一直在寻找使用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

asp.net asp.net-mvc optimization bundling-and-minification

5
推荐指数
1
解决办法
1954
查看次数

内联代码不作为后面的代码执行

注意:另一篇文章(在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)

asp.net webforms

5
推荐指数
1
解决办法
95
查看次数

如何使用Powershell(或CMD)在Docker中挂载Windows文件夹?

我想在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),安装正确。但是,我想使该命令通用,因此可以从主机上的任何文件夹运行该命令。

powershell docker

5
推荐指数
2
解决办法
3557
查看次数

RenderSection根据需要设置:false,但仍抛出"对象引用未设置为对象的实例"

此代码应该将我的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)

但我仍然得到同样的例外.

还有另一种解决方法吗?

asp.net-mvc asp.net-mvc-4

4
推荐指数
2
解决办法
1523
查看次数

Web API 2基于参数值的路由

是否可以根据查询字符串中的参数值设置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]这是旧版系统的后备功能:(

asp.net-web-api2

3
推荐指数
1
解决办法
1166
查看次数

模板解析错误:template :: 1:unclosed action

在进行网络容器课程网络容器课程时遇到了错误

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)

可能是什么问题?

docker

3
推荐指数
1
解决办法
2869
查看次数

如何将 Packer.io ISO_URL 作为命令行参数传递

我想将 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)

packer

3
推荐指数
1
解决办法
3363
查看次数

在某些浏览器上的AjaxPro中的ConnectFailure

在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)

.net asp.net cross-platform ajaxpro

2
推荐指数
2
解决办法
799
查看次数