小编Dan*_*ter的帖子

在MVC webapp上使用msbuild接收"错误ASPPARSE:无法加载类型..."错误

我们有CCNET和msbuild创建我们的常规构建.我正在尝试更新我们的流程,以便msbuild创建压缩部署包,msdeploy将它们发送到目标IIS7 Web服务器.我在完成端到端解决方案时遇到了麻烦,所以对于测试我现在只想从命令行调用msbuild.我执行这个声明:

msbuild /target:Build;Package /P:Configuration=Staging;OutDir=D:\Builds\Viper.ProdSupport\MSDeployPkg\ /verbosity:diagnostic D:\builds\ViperPortal.ProdSupport\Code\Viper\Viper.UI.MVC\Viper.UI.MVC.csproj
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

/temp/global.asax(1):错误ASPPARSE:无法加载类型'Viper.UI.MVC.MvcApplication'.[d:\建立\ ViperPortal.ProdSupport \代码\蝰蛇\ Viper.UI.MVC\Viper.UI.MVC.csproj]

哦,对于我们的规格:.NET4,MVC3,IIS7/Win2k8 64位用于Web服务器.构建服务器也是Win2k8,但我在win 7 32bit盒子上本地测试脚本,ccnet和本地完整的dev config mgmt环境设置.

有没有人有任何想法,为什么我收到此错误?我阅读了一些抱怨aspnet编译器或更改bin部署程序集的消息,但这些似乎都没有真正适用于此.我只是试着打电话给msbuild,它现在一直在工作.我们的解决方案有一个自定义的msbuild脚本.我尝试使用它和mvc csproj文件作为构建配置文件.请帮忙!谢谢!

cruisecontrol.net msbuild configuration-management

8
推荐指数
1
解决办法
4086
查看次数

如何在Visual Studio 2015中配置私有NPM和Bower注册表

我们正在使用Visual Studio 2015以及ProGet来托管NuGet,NPM和Bower的私人提要。我试图找出最好的方法,使我们的所有团队成员以最少的精力指向我们的私人注册表。我知道对于Bower,我可以像下面这样在.bowerrc文件中设置一个私有仓库

{
  "directory": "wwwroot/lib",
  "registry": "http://proget.mysite.com/bower/Bower",
  "search": "http://proget.mysite.com/bower/Bower"
}
Run Code Online (Sandbox Code Playgroud)

对于NPM,我可以像这样使用命令行来控制它

npm config set registry http://proget/npm/private-npm
Run Code Online (Sandbox Code Playgroud)

但是我希望有一种方法可以尽可能地轻松地将其分发给团队,而无需花费太多精力,而不必为每个解决方案设置它。它应该在全球范围内适用。我怎样才能做到这一点?任何建议将不胜感激。谢谢!

npm bower visual-studio-2015 private-bower

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

如何验证 Azure 存储 blob 名称

我正在实现一个 API 来在 Azure Blob 存储中存储文件。

我正在使用 Microsoft 库来验证容器和 blob 名称。

NameValidator.ValidateContainerName(containerName);
NameValidator.ValidateBlobName(blobFullName);
Run Code Online (Sandbox Code Playgroud)

然而,它返回的一些名称是有效的,尽管我知道他们自己的文档不是,当我尝试保存它们时,blob 存储返回 400 个错误的请求,正如预期的那样。因此,除了为什么 MS 验证库不完整的问题之外,我如何在 C# 中执行其余的验证?具体来说,我现在失败了

“一些 ASCII 或 Unicode 字符,如控制字符(0x00 到 0x1F、\u0081 等)”

我有一个文件名中带有 \u0081 的文件。剩下的无效字符是什么。他们将我们指向 ietf 文档,然后说其中“某些”字符是不允许的?哪个?只是所有控制字符?

为了清楚起见,这是返回 400 的部分

CloudBlockBlob blob = documentContainer.GetBlockBlobReference(blobFullName);
                await blob.UploadFromStreamAsync(fileStream, token).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

更新:我已经添加了这一点逻辑来至少检查控制字符。如果我能得到一些健壮的东西,我将针对 Microsoft 的验证代码发出 PR

if (blobFullName.ToCharArray().Any(c => Char.IsControl(c))) {
    throw new HissyFitException();  // or do other stuff to fail validation
}
Run Code Online (Sandbox Code Playgroud)

c# azure azure-storage azure-blob-storage

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

Captcha nuget包总是在ASP.NET MVC 5上有效

我已经安装了captcha插件并按照设置说明进行操作.验证码在页面上呈现完美,但在提交表单时,无论我输入什么,ModelState.IsValid始终为true.显然,如果验证码不能验证那么它对我来说并不好.

这是我的控制器:

        [HttpPost]
    [CaptchaValidation("CaptchaCode", "SampleCaptcha", "Incorrect CAPTCHA code!")]
    public ActionResult Register(AccountModel model)
    {
        if (!ModelState.IsValid)
        {
            // TODO: Captcha validation failed, show error message
        }
        else
        {
            // TODO: Captcha validation passed, proceed with protected action
        }

        return View();
    }
Run Code Online (Sandbox Code Playgroud)

这是我的看法:

<link href="@BotDetect.Web.CaptchaUrls.Absolute.LayoutStyleSheetUrl" rel="stylesheet" type="text/css" />

<form class="form-horizointal" action="@Url.Action("Register", "Account")" method="POST">
    <div class="form-group">
        @Html.LabelFor(m => m.FirstName, new { @class = "col-sm-2 control-label" })
        @Html.TextBoxFor(m => m.FirstName, new { placeholder = "First Name"})
        @Html.LabelFor(m => m.LastName, new { @class …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc captcha

4
推荐指数
1
解决办法
1940
查看次数

你能写出关键字之间没有空格的sql语句吗

我正在尝试进行 SQL 注入测试,但我当前正在测试一个用空格分隔参数的命令行,因此我尝试编写一个不带任何空格的 sql 语句。我把它归结为:

create table"aab"("id"int,"notes"varchar(100)) 但我不知道如何消除 CREATE 和 TABLE 之间的空格。显然,这同样适用于 DROP 和 TABLE 等。

有人有什么想法吗?这是针对 Microsoft SQL Server 2014 的。谢谢!

[更新]:我们正在评估第三方产品的漏洞。我这样做并不是为了测试我自己的代码是否存在弱点。

sql database sql-server security

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

部署到Azure问题:无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0 ...清单不匹配问题

我正在开发一个MVC站点,它在本地工作正常,但当我部署到我的Azure站点时,我收到此错误:

无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我应该部署所有这些程序集.由于它在Azure中托管,我对盒子的控制有限,但我认为他们也会在那里安装这个组件,所以我不确定为什么这会导致问题.有任何想法吗?

更多细节:

'/'应用程序中的服务器错误.

无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

程序集加载跟踪:以下信息有助于确定无法加载程序集"System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的原因.

警告:装配绑定日志记录已关闭.要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失.要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog].

堆栈跟踪:

[FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)] marylandgives.mvc.MvcApplication.Application_Start()+ 0

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+9916673 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context,MethodInfo [] handlers)+118 System.Web.HttpApplication .InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)+172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext context)+336 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+296

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Mvc,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9930568 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext …

c# asp.net asp.net-mvc azure

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

VSTS:如何重新排队损坏的构建和切换代理队列

背景:

我们正在使用 Gitflow 运行 Visual Studio Team Services (VSTS),并一直尝试在笔记本电脑上使用带有本地构建代理的私有管道。然而,我们的本地代理遇到了麻烦,对于特定的拉取请求,针对该本地代理的构建失败了。我已编辑构建定义以使用 Hosted2017 代理,并希望重新排队拉取请求。我可以手动将 sha1 哈希的构建排队,以供 PR 提交来测试代理。但是,我想完成拉取请求,并且我将使构建成功,但似乎我无法使 PR 的构建使用更新的构建定义。

问题:

那么我如何获得 Pull Request 来让这个构建工作呢?我没有看到切换拉取请求的构建定义的选项?我是否只需要放弃并重做 PR,或者有没有办法可以修复此 PR,而无需要求创建它的开发人员跳过障碍,以便我可以修复构建过程?

谢谢!

azure-devops azure-pipelines

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