WiX文件可以使用$(var.ProjectName.TargetPath)语法引用其他项目.但是,我有一个名称为(My.Project)的项目.我怎么能参考这个?我试过了:
$(var.My.Project.TargetPath)$(var.My.Project.TargetPath)$(var.My\.Project.TargetPath)$(var.{My.Project}.TargetPath)$(var.(My.Project).TargetPath)$(var.[My.Project].TargetPath)$(var.MyProject.TargetPath)$(var.My%2EProject.TargetPath)我得到的构建错误是:
未定义的预处理器变量'$(var.My.Project.TargetPath)'
当我设置overflow-y一个街区时,它似乎正在影响overflow-x房产.我用一个这个问题的例子做了一个JSFiddle.它似乎正在所有浏览器中发生,所以我想我错过了一些显而易见的东西.
我有两个非重叠块(蓝色和绿色)以及第三个块(红色),具有以下要求:
但是,如果我设置overflow-x: visible为红色块重叠在右边,而是表现得好像我设置它scroll.但是,如果我删除overflow-y属性或将其设置为visible,则红色块的行为与我期望的一样.
我确实需要垂直滚动,所以我不知道该做什么.
使用下面的代码
HTML:
<div id="container">
<div id="left">
<div id="floater"></div>
</div>
<div id="right">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#container {
height: 200px; width: 200px;
position: relative;
background-color: #ccc; border: solid 5px black;
}
#left {
position: absolute;
top: 0; left: 0; bottom: 0; width: 100px;
overflow-x: visible;
overflow-y: auto; /** REMOVING THIS CHANGES THE RESULT **/
background-color: blue;
z-index: 2; …Run Code Online (Sandbox Code Playgroud) 我想<div>在用户点击时更新我的视图Ajax.ActionLink.但是,它始终导航整个页面,而不是将服务器的响应插入到我指定的元素中.
我觉得我在这个例子中正在做所有事情,但即使在创建最简单的测试用例之后,我仍然无法创建我想要的行为.
在接下来的测试用例中,我加载/Company/test并点击"Go!"后,我希望将<div>其替换为"All done",而是将整个页面导航到/Company/test_ajax.
我确定我在这里遗漏了一些东西.提前致谢.
CompanyController
public ActionResult test()
{
return View();
}
public ActionResult test_ajax()
{
return Content("All done");
}
Run Code Online (Sandbox Code Playgroud)
Test.aspx文件
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
</head>
<body>
<h2>test</h2>
<%= Ajax.ActionLink("Go!", "test_ajax",
new AjaxOptions {
UpdateTargetId="viewport"
}) %>
<div id="viewport">Replace me!</div>
</body></html>
Run Code Online (Sandbox Code Playgroud) 我正在使用Visual Studio 2013从此WSDL文件生成WCF服务代理.但是,只要我尝试调用该setSalesItemsV3方法,WCF就会InvalidOperationException从中深入抛出System.Xml.dll.
此示例项目演示了此问题:https://github.com/jennings/WsdlDuplicateNameProblem
这是内在的例外:
消息:名称空间中的顶级XML元素"start"引用了不同类型WsdlDuplicateName.SalesItemService.hsSimpleDate和System.DateTime.使用XML属性为元素指定另一个XML名称或命名空间.
我不是读WSDL的专家,但是我已经看了它,并且引用名称"start"的唯一部分是以下几个<wsdl:part>元素name="start":
<wsdl:message name="setSalesItems">
<wsdl:part name="start" type="xsd:dateTime"></wsdl:part>
</wsdl:message>
<wsdl:message name="setSalesItemsV3">
<wsdl:part name="start" type="tns:hsSimpleDate"></wsdl:part>
</wsdl:message>
Run Code Online (Sandbox Code Playgroud)
但是,这些部分是完全不同的消息,所以我不明白为什么会有任何混淆.我通过几个在线WSDL验证器运行WSDL文件,它们似乎没问题.
下面是重现问题所需的项目中唯一的代码(除了生成的代理).
class Program
{
static void Main(string[] args)
{
SalesServiceClient client = new SalesServiceClient();
var date = ToSimpleDate(new DateTime());
// throws InvalidOperationException
// Message == "There was an error reflecting 'start'."
client.setSalesItemsV3(1, 1, null, date, date);
}
static hsSimpleDate ToSimpleDate(DateTime time)
{
return new …Run Code Online (Sandbox Code Playgroud) 我创建了一个小型可执行文件,可以通过调用MyApp.exe作为普通应用程序启动,也可以通过调用作为服务启动MyApp.exe -s.因为我试图保持尽可能简单,我通过手动运行"安装"此应用程序
sc create MyAppService binPath= "C:\MyApp\MyApp.exe -s"
Run Code Online (Sandbox Code Playgroud)
然后我像平常一样启动服务net start MyAppService.
在两台Windows XP计算机和两台Windows 2000计算机上,这很好用.但是,在两台不同的Windows XP Embedded机器上,当我尝试启动服务时,我收到消息:
发生系统错误1083.
配置此服务运行的可执行程序不实现该服务.
在一台机器上,我能够通过卸载并重新安装.NET 2.0来解决这个问题,但在第二台机器上,这不起作用.
我不确定如何调试这个,并且只搜索谷歌似乎只会出现这个消息失败的特定服务,如BITS和Exchange服务.
下面是类MyApp,它是启动类MyAppService,它是扩展ServiceBase的类.提前感谢任何方向.
static class MyApp
{
[STAThread] static void Main( string[] args )
{
....
switch ( arg1 )
{
case "-s":
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyAppService() };
ServiceBase.Run( ServicesToRun );
break;
....
}
}
}
Run Code Online (Sandbox Code Playgroud)
class MyAppService : ServiceBase
{
static MyAppService()
{ …Run Code Online (Sandbox Code Playgroud) 我有以下架构:
class Order
{
public int OrderId { get; set; }
}
class LineItem
{
public int LineItemId { get; set; }
public int OrderId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用ServiceStack.OrmLite使用以下代码将Order与LineItem联接起来:
var query = db.From<Order>()
.LeftJoin<LineItem>()
.Where(o => o.OrderId == 1);
var results = db.SelectMulti<Order, LineItem>(query);
Run Code Online (Sandbox Code Playgroud)
SelectMulti()返回List<Tuple<Order, LineItem>>。当订单中没有订单项时,我将返回new LineItem()而不是null。
我希望能null回来,所以我可以说出“此订单不存在任何订单项”和“此订单包含具有默认值的订单项”之间的区别。
我可以检查订单项OrderId是否等于订单的OrderId,但理论上我可以将订单的订单号OrderId设为0,因此在这种情况下我将无法分辨。
是否有更好的方法与OrmLite保持连接?
我正在编写一个PowerShell模块,用于与远程服务进行交互.当连接到远程服务时(通过模块中的功能),我想在提示符前面添加用户名.断开连接后,我想删除用户名.
我想我可以通过复制全局prompt函数来实现这一点,然后在断开连接时恢复它:
# Doesn't work
function Connect {
Copy-Item function:prompt function:prompt_old
function global:prompt { "[Username] $(prompt_old)" }
}
function Disconnect {
Copy-Item function:prompt_old function:prompt -Force
}
Run Code Online (Sandbox Code Playgroud)
但是,Copy-Item不在全局范围内复制.因此,prompt抛出一个CommandNotFoundException和断开功能不能代替prompt用prompt_old.
有没有办法可以从模块函数修改,然后恢复PowerShell提示符?
c# ×2
.net ×1
.net-2.0 ×1
ajax ×1
asp.net-mvc ×1
css ×1
html ×1
powershell ×1
scope ×1
servicestack ×1
stylesheet ×1
svcutil.exe ×1
wcf ×1
wix ×1
wsdl ×1
xml ×1