小编Chr*_*cht的帖子

WiX自定义许可证文件:setup显示与<>的链接

我通过将其放入.wxs文件中创建了带有自定义许可证文件的WiX 3.5设置:

<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
Run Code Online (Sandbox Code Playgroud)

这非常有效,并且在运行创建的.msi文件时会显示链接.
(我正在使用WixUI_InstallDir对话框)

现在我想在许可证文件中添加一个超链接.
我只是通过在写字板中打开并粘贴http://mylink.com(WordPad将其自动转换为超链接)将链接放入文件中.

当我在WiX中编译它时,许可协议对话框显示如下链接:

<http://mylink.com>
Run Code Online (Sandbox Code Playgroud)

我注意到这似乎与自动创建超链接的写字板有关(见上文).
当我删除了http://从许可文件的链接部分,写字板不承认其作为链接了,并在编译的.msi文件中,<>在许可协议对话框消失.

任何想法我如何能摆脱额外的<>,除了把该链接进入许可文件而不http://一部分?


编辑:

好吧,也许当我使用"超链接"这个词时,我的想法不够.
我的意思是:它不一定是一个实际的可点击超链接.
我只是希望我的网页的地址显示在许可证文件的顶部.

如果它只是作为文本的URL(不可点击),我会很好,但是我希望它在我输入时显示,而不是显示< >.
问题是写字板一进入就自动将任何URL转换为超链接,所以我不知道如何获得许可协议对话框将其视为普通文本.

licensing wix hyperlink wix3.5

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

从Access数据库中的数字获取月份名称?

我试图弄清楚如何从访问数据库中的月份数字获取月份名称.

我发现了这个:Format(Date, "mmmm")不幸的是我没有日期,我只有月数,所以功能不起作用.

有没有我可以使用的替代方案?

谢谢

ms-access datetime function

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

在WPF / MVVM应用程序中加载配置文件/启动时处理错误

免责声明:我没有MVVM / MVC / MVP / MV的经验,但是,这是我第一次尝试使用任何 UI分离模式。

启动时,我的应用程序需要从配置文件加载数据,该文件是应用程序正常运行所必需的。

目前,我正在启动中读取配置文件App.xaml.cs,并将该文件的内容传递给视图模型:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        string configFile = "settings.txt";
        string[] config = File.ReadAllLines(configFile);

        var window = new MainWindow();
        var viewmodel = new MainWindowViewModel(config);
        window.DataContext = viewmodel;
        window.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

1.这是“正确的” MVVM方法吗?
我敢肯定,这种方法比直接在视图模型中读取文件更好(这是我首先这样做的方法),但是我不确定是否App.xaml.cs完全适合读取配置文件。

2.我在哪里/如何处理错误?
配置文件中的数据对于应用程序至关重要。
因此,如果文件丢失或为空,或者文件中的数据无效,那么我需要显示一条错误消息并退出该应用程序。

我的第一个尝试就是将其放入App.xaml.cs

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        string configFile = "settings.txt"; …
Run Code Online (Sandbox Code Playgroud)

c# wpf error-handling configuration mvvm

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

在Jekyll中访问_data(循环循环)

鉴于此YAML:

- maincategory:
    title: "Projects"
    subcategory:
        title: "General"
        item:
          title: "Alpha"
        item:
          title: "Beta"

- maincategory:
    title: "Support"
    subcategory:
        title: "General"
        item:
          title: "Something"
        item:
          title: "Else"
Run Code Online (Sandbox Code Playgroud)

如果Jekyll _data文件称为entrys.yml,如何对这些数据进行迭代?

到目前为止,我已经到了这里,但是我不确定是否应该继续在子循环中引用site.data对象。也不确定这是否可能。

  {% for entry in site.data.entries %}
    <h2>{{ entry.maincategory.title }}</h3>
    {% for subcategory in site.data.entries.maincategories %}
      <h3>{{ entry.maincategory.subcategory.title }}</h3>
      <ul>
      {% for item in site.data.entries.maincategory.subcategories %}
        <li><a href="{{ item.href }}">{{ item.title }}</a></li>
      {% endfor %}
    </ul>
    {% endfor %}
  {% endfor %}
Run Code Online (Sandbox Code Playgroud)

需要明确的是,这是我要结束的地方(明智的输出):

<!-- Loop over every main category -->
<h2>Main …
Run Code Online (Sandbox Code Playgroud)

liquid jekyll

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

Jekyll/Liquid动态包含文件

目前我正在与Jekyll合作开发一个新网站并在那里遇到一些问题.我有一个布局页面,我可以用每个页面的变量定义背景图像.

布局:

class="background background-{{ page.header_bg }}"
Run Code Online (Sandbox Code Playgroud)

页:

---
header_bg: storm
---
Run Code Online (Sandbox Code Playgroud)

但现在我想动态地包含一些文件,具体取决于变量值.好吧,我可以用一些if或case语句来做,但实际上我想做类似的事情

{% include page.header_bg %}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为Jekyll正在寻找一个名为"page.header_bg"的文件而不是值.

有谁可以帮助我吗?

include liquid jekyll

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

如何在NHibernate映射类中查找未映射的属性?

我刚刚遇到了NHibernate相关的问题,我忘了映射一个类的一个属性.

一个非常简单的例子:

public class MyClass
{
    public virtual int ID { get; set; }
    public virtual string SomeText { get; set; }
    public virtual int SomeNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...和映射文件:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   assembly="MyAssembly"
                   namespace="MyAssembly.MyNamespace">

    <class name="MyClass" table="SomeTable">
        <property name="ID" />
        <property name="SomeText" />      
    </class>

</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

在这个简单的示例中,您可以立即看到问题:类中
有一个名为"SomeNumber"的属性,但在映射文件中没有.
所以NHibernate不会映射它,它总是为零.

真正的类具有更多的属性,所以问题并不容易看到,我花了很长时间才弄清楚为什么SomeNumber总是返回零,即使我100%确定数据库中的值是!=零.

所以,这是我的问题:

有没有一些简单的方法可以通过NHibernate找到它?
像映射类时的编译器警告,但它的某些属性不是.
或者我可以运行的一些查询显示映射类中未映射的属性...你明白了.

(另外,如果我可以排除一些我真的不想映射的遗留列,那将会很好.)

编辑:
好的,我查看了你提出的所有内容,并决定使用元数据API ......这看起来对我来说最容易理解.
现在我知道要搜索什么,我找到了一些帮助我开始的例子.
到目前为止,我有这个:

Type type = typeof(MyClass);

IClassMetadata meta = MySessionFactory.GetClassMetadata(type);

PropertyInfo[] infos = type.GetProperties();

foreach …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping

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

获取Mercurial进程内挂钩以在Windows上运行

我正在尝试在Windows上运行Mercurial进程内挂钩.
问题不在于如何编写钩子(我想使用现有的钩子,在这种情况下BugTracker.Net的钩子用于Mercurial集成 - 我没有找到该文件的直接链接,但你可以看到它如果你在这里下载BT.net ,它位于"mercurial"子文件夹中.
问题是如何告诉Mercurial运行它.

我花了很长时间阅读文档,但我现在卡住了.
(使用Python的某些知识可能会更容易 - 我没有)

我知道我必须在hgrc文件中插入一行(在我的存储库的.hg文件夹中).

HG Book中有一个例子如下:

[hooks]
commit.example = python:mymodule.submodule.myhook
Run Code Online (Sandbox Code Playgroud)

还有Mercurial网站上的另一个例子,它看起来像这样:

[hooks]
changegroup = /path/to/changegrouphook
Run Code Online (Sandbox Code Playgroud)

现在我想要一个"传入"钩子,所以至少我知道我必须这样做:

[hooks]   
incoming.btnet = X
Run Code Online (Sandbox Code Playgroud)

问题是找出"X".
文件名是hg_hook_for_btnet.py,在文件中有一行如下所示:

def debug_out(s):
Run Code Online (Sandbox Code Playgroud)

我想这就是"功能"本身的名称.
所以我的行需要看起来像这样:

[hooks]   
incoming.btnet = python:hg_hook_for_btnet.debug_out
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个错误信息[Errno 2]当我推送时没有这样的文件或目录.
我已经尝试了很多不同的变化,但它不起作用,我不知道我做错了什么.

  • 我需要python:开头还是不?
  • 我是否需要指定.py文件扩展名?
  • 我是否需要/ path/to/...如Mercurial网站上的示例所示(见上文)?
  • 如果是,路径的正确语法是什么?(只是c:\ MyRepo \不起作用 - Python中的语法必须不同)

另外,我是否将钩子文件放入正确的文件夹中?
现在,它位于我的存储库的主文件夹中(与.hg文件夹位于同一级别).


编辑:

马丁,我改成了这个:

[hooks]
incoming.btnet = python:~c:\HG\MyRepo\hg_hook_for_btnet.py:debug_out
Run Code Online (Sandbox Code Playgroud)

现在我得到一个不同的消息: …

windows mercurial hook mercurial-hook

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

如何从命令行设置Sphinx的`exclude_patterns`?

我在Windows上使用Sphinx.
我的大多数文档都是针对普通用户的,但有一些子页面仅包含管理员的内容.所以我想构建我的文档的两个版本:完整版本和排除"管理"页面的第二个版本.

exclude_patterns在构建配置中使用了它.
到目前为止,它的确有效.当我将其放入conf.py文件时,将忽略名称中包含"admin"的每个子文件夹中的每个文件:

exclude_patterns = ['**/*admin*']
Run Code Online (Sandbox Code Playgroud)

问题是我想运行一次构建以获得两个版本.

我现在正在尝试做的是运行make.bat两次并在每次运行时提供不同的参数.
根据文档,我可以通过设置BUILDDIRSPHINXOPTS变量来实现这一点.

所以现在我build.bat看起来像这样:

path=%path%;c:\python27\scripts

rem BUILD ADMIN DOCS
set SPHINXOPTS=
set BUILDDIR=c:\build\admin
call make clean
call make html

rem BUILD USER DOCS
set SPHINXOPTS=-D exclude_patterns=['**/*admin*']
set BUILDDIR=c:\build\user
call make clean
call make html

pause
Run Code Online (Sandbox Code Playgroud)

当我set BUILDDIR=build从sphinx生成的make.bat文件中删除该行时,两个不同目录中的构建工作.

然而,排除模式就无法工作.
上面列出的批处理文件为第二个构建(具有排除模式的那个)输出:

Making output directory...
Running Sphinx v1.1.3
loading translations [de]... done
loading …
Run Code Online (Sandbox Code Playgroud)

windows documentation python-sphinx

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

收藏 GitHub 中的问题

如果这还不足以成为一个编码问题,我深表歉意 - 如果有与此问题更相关的平台,请向我推荐正确的 Stack Exchange 平台。

我在使用 create-react-app 时遇到了yarn / webpack 的问题,而且我不是第一个 - 这个问题之前已经在GitHub上重现和讨论过。

有没有办法让我喜欢这个问题,或者以任何其他方式跟踪这个问题的进展,同时不妨碍讨论(因为它们似乎涵盖了我已经在努力解决的所有问题)?

github issue-tracking

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

托管多个GitHub网站

我有三个静态Web项目,我想在我的GitHub帐户上托管.
我在文档中注意到你必须为repo名称写你的用户名,以便告诉GitHub这将是一个静态网站(例如bluebird/bluebird.github.io).

是否可以使用除用户名之外的其他名称来托管我的项目?

git github github-pages

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