小编jru*_*ell的帖子

如何使用msbuild发布Web?

Visual Studio 2010具有"发布"命令,允许您将Web应用程序项目发布到文件系统位置.我想在我的TeamCity构建服务器上执行此操作,因此我需要使用解决方案运行程序或msbuild.我尝试使用Publish目标,但我认为这可能适用于ClickOnce:

msbuild Project.csproj /t:Publish /p:Configuration=Deploy
Run Code Online (Sandbox Code Playgroud)

我基本上想要完成Web部署项目的功能,但没有加载项.我需要它来编译WAP,删除执行不必要的任何文件,执行任何web.config转换,并将输出复制到指定的位置.

我的解决方案基于Jeff Siver的回答

<Target Name="Deploy">
    <MSBuild Projects="$(SolutionFile)" 
             Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package" 
             ContinueOnError="false" />
    <Exec Command="&quot;$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd&quot; /y /m:$(DeployServer) -enableRule:DoNotDeleteRule" 
          ContinueOnError="false" />
</Target>
Run Code Online (Sandbox Code Playgroud)

asp.net msbuild teamcity visual-studio-2010 msdeploy

208
推荐指数
7
解决办法
20万
查看次数

Web Config转换以添加子元素

我在web.config中有以下配置:

  <resizer>
    <sizelimits imageWidth="0" />
    <plugins>
      <add name="MvcRoutingShim" />
      <!--<add name="AzureReader" connectionString="DataConnectionString" /> -->
      <add name="DiskCache" />
      <add name="PrettyGifs" />
      <add name="AnimatedGifs" />
    </plugins>
  </resizer>
Run Code Online (Sandbox Code Playgroud)

在web.config.Release中,如何将AzureReader元素添加为plugins元素的子元素(有效地取消注释上面的内容)?

我熟悉如何进行基本的转换,但之前从未这样做过.

asp.net web-config web-config-transform

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

如何指定显式ScriptBundle包含订单?

我正在尝试MVC4 System.Web.Optimization 1.0 ScriptBundle功能.

我有以下配置:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        // shared scripts
        Bundle canvasScripts =
            new ScriptBundle(BundlePaths.CanvasScripts)
                .Include("~/Scripts/modernizr-*")
                .Include("~/Scripts/json2.js")
                .Include("~/Scripts/columnizer.js")
                .Include("~/Scripts/jquery.ui.message.min.js")
                .Include("~/Scripts/Shared/achievements.js")
                .Include("~/Scripts/Shared/canvas.js");
        bundles.Add(canvasScripts);
    }
}
Run Code Online (Sandbox Code Playgroud)

以及以下观点:

<script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script>
Run Code Online (Sandbox Code Playgroud)

哪里BundlePaths.CanvasScripts"~/bundles/scripts/canvas".它呈现:

<script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script>
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,除了~/Scripts/Shared/achievements.js是捆绑源中的第一个脚本.这取决于它之前包含的每个脚本ScriptBundle.我如何确保它遵守我向包中添加include语句的顺序?

更新

这是一个相对较新的ASP.NET MVC 4应用程序,但它引用了优化框架预发布包.我删除了它并从http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加了RTM包.使用web.config中带有debug = true的RTM版本,@Scripts.Render("~/bundles/scripts/canvas")以正确的顺序呈现各个脚本标记.

在web.config中使用debug = false,组合脚本首先使用achievement.js脚本,但由于它是稍后调用的函数定义(对象构造函数),因此它运行时没有错误.也许minifier足够聪明,可以找出依赖关系?

我还尝试了IBundleOrdererDarin Dimitrov在RTM中使用两种调试选项建议的实现,并且它的行为相同.

所以缩小版本不是我期望的顺序,但它的工作原理.

asp.net-mvc bundle asp.net-mvc-4 asp.net-optimization

91
推荐指数
5
解决办法
6万
查看次数

创建虚拟目录失败并显示错误

我无法解决这个问题

在此输入图像描述

我建议我必须更改c:\Windows\System32\drivers\etc\hosts文件并添加

# localhost name resolution is handled within DNS itself.
Run Code Online (Sandbox Code Playgroud)

下一行:

127.0.0.1       mysite.dev
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.有什么建议?

当我尝试在Microsoft Visual Studio 2012中打开网站项目时出现错误.

visual-studio iis-express

77
推荐指数
6
解决办法
6万
查看次数

nameidentifier声明的目的是什么?

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier应该使用什么类型的声明?

这是主要问题,这里还有其他问题.

它与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name索赔有什么不同?

对于特定用户而言,与名称声明相反,它是永久性的吗

它是全局范围的还是IdP范围的?

federated-identity claims-based-identity adfs2.0

68
推荐指数
3
解决办法
3万
查看次数

使用iPhone UIWebView时的Asp.Net Forms身份验证

我正在编写一个使用表单身份验证的Asp.net MVC 2应用程序,目前我的iPhone应用程序在通过Web进行身份验证/登录时遇到问题.我们开发了一个使用UIWebView控件的简单iPhone应用程序.在这个阶段,所有应用程序都会导航到我们的Asp.Net网站.简单吧?问题是,用户无法通过登录页面.重复步骤是:

  • 打开iPhone应用程序.
  • 该应用程序导航到主页.
  • 用户未经过身份验证,因此会重定向到登录屏幕/页面
  • 用户输入正确的用户名和密码.点击提交.
  • 在服务器端,用户经过身份验证,并生成cookie并使用FormsAuthentication.GetAuthCookie发送到客户端.
  • 服务器发送是重定向以将用户发送到正确的主页.

但是用户然后被重定向到BACK登录屏幕!

我已经对此进行了一些广泛的调试,我所知道的是:

cookie被发送到客户端,客户端正在存储cookie.在iPhone调试器中验证了这一点,并使用Javsascript在页面上显示cookie数据.cookie正被发送回服务器.在Visual Studio调试器中验证了这一点.它是正确的cookie(它与设置的相同).User.Identity.IsAuthenticated属性由于某种原因返回false,即使auth cookie包含在Request对象中.我已经确认iPhone应用程序已设置为接受cookie,并且它们在客户端上.

这是有趣的事情:如果您在iPhone上打开Safari浏览器并直接访问我们的网站,它可以正常工作.

它在iPad上也具有相同的行为,因为它没有通过登录屏幕.这种模拟器和设备上的重复.

这个网站已经通过IE 7-8,Safari(适用于Windows),Blackberry,IEMobile 6.5,Phone 7进行了测试,可以找到它.唯一不适用的情况是iPhone应用程序中的UIWebView.

asp.net authentication cookies asp.net-mvc uiwebview

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

Jquery点击不使用ipad

我们有一个Web应用程序,它使用Jquery blockUI来打开弹出窗口并执行一些操作.所有这一切在Safari上运行良好,IE 8问题在于Ipad.弹出窗口中的所有操作都没有响应.它只停留在那个页面上.即便关闭也行不通.我们需要添加其他东西吗?这是打开页面并单击事件以进行关闭的代码.

<script>
$(document).ready(function() {
  $.ajaxSetup( {
           cache:false
   });

        $("#sendInviteDiv").load("invite.htm?action=view&pid="+pid);
            $.blockUI({ message: $('#sendInviteDiv'),
                centerY: 0,
                    css: {
                top:  ($(window).height() - 550) /2 + 'px',
                        left: ($(window).width() - 870) /2 + 'px',
                        width: '870px'
                }
            });
            //var ua = navigator.userAgent;
            //var event = (ua.match(/iPad/i)) ? "touchstart" : "click";
            //alert(ua);

            $('#closeInvite').click($.unblockUI);

    $('#inviteBtn').click(function() {
//script to load 
       //setPositionDetails('${formName}','inviteBtn');

       });
}


});


</script>
Run Code Online (Sandbox Code Playgroud)

感谢指针.

启用了javascript,并在Ipad Safari设置中允许弹出窗口.

safari jquery ipad

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

HTTP错误503.该服务在简单的ASP.NET 4.0网站下不可用

在我的本地笔记本电脑上发生了一些奇怪的事情:我在本地工作了很长时间的网站没有启动......

尝试本地化问题我创建了一个只有'index.html'文件的简单网站.它在ASP.NET 2.0下工作正常,但当我将App Pool切换为使用4.0时 - 它停止工作.

当我在浏览器中打开网站时,它显示以下错误:

暂停服务

http错误503服务不可用.

并导致App池停止工作...在系统事件登录"应用程序"部分我有:

工作进程无法正确初始化,因此无法启动.数据是错误的.

请指教.在Google中找不到任何相关内容...... :(

PS我有VS2010,Windows Vista x64,安装了最后更新,还安装了VS SP1 ...

asp.net asp.net-4.0

33
推荐指数
2
解决办法
9万
查看次数

MVC Forms LoginUrl不正确

我有一个带有表单身份验证的ASP.NET MVC 3应用程序.由于某些我无法看到的原因,登录重定向网址/Account/Login?ReturnUrl=%2fSecure%2fAction代替/Account/LogOn?ReturnUrl=%2fSecure%2fAction.区别很小,它使用/ Account/Login而不是/ Account/LogOn.

我的web.config表单部分是正确的.否则可能会影响登录网址?

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="720" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc forms-authentication asp.net-mvc-3

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

设置OutputPath时,"没有为项目设置OutputPath属性"

在MVC4中,如果我为解决方案中的所有项目创建新的构建配置,那么在构建Web .csproj时我会得到以下内容:

msbuild Company.Directory.Web.csproj /p:Configuration=Dev
Run Code Online (Sandbox Code Playgroud)

[错误] C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9):没有为项目'Company.Directory.Web.csproj'设置OutputPath属性.请检查以确保您为此项目指定了Configuration和Platform的有效组合.Configuration ='Dev'Platform ='AnyCPU'.您可能会看到此消息,因为您正在尝试构建没有解决方案文件的项目,并且已指定了此项目不存在的非默认配置或平台.

但是,OutputPath财产设置!

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Dev|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
    <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
    <DeployIisAppPath>Port 80/directory/dev</DeployIisAppPath>
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>
    </ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{285FBF79-7933-4AF9-AAAF-25EE7734AAAA}</ProjectGuid>
    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Company.Directory.Web</RootNamespace>
    <AssemblyName>Company.Directory.Web</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <MvcBuildViews>false</MvcBuildViews>
    <UseIISExpress>true</UseIISExpress>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <RestorePackages>true</RestorePackages>
  </PropertyGroup>
  <!-- ... -->
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?我该如何解决?

msbuild asp.net-mvc visual-studio-2010 asp.net-mvc-4

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