小编mik*_*may的帖子

为什么动态语言不需要IOC容器

第68号羊群编号播客中的某人,http://herdingcode.com/herding-code-68-new-year-shenanigans/,声称IOC容器没有Python或Javascript的地方,或者说是这样的话.我认为这是传统智慧,它适用于所有动态语言.为什么?动态语言是什么让IOC容器变得不必要?

dynamic-languages ioc-container

42
推荐指数
4
解决办法
8181
查看次数

Github Actions:如何从工作流调度事件运行在非主分支上创建的工作流?

有人可以帮助我了解 Github 操作选项卡的行为吗?作为在第三方 repo 上工作的 Actions 新手,我希望能够在分支上创建一个操作并在workflow_dispatch事件上执行它。我没有成功地做到这一点,但我发现了以下几点:

  • Action 选项卡将根据与上次执行的工作流相关的分支更改它找到工作流和操作代码的分支。例如,如果使用Run Workflow按钮从 Action 选项卡执行某个工作,并且Use Workflow From下拉列表设置为某个分支,Branch-A,则将采用 Actions 选项卡左侧的Workflows面板的内容来自 Branch-A 的.github/版本。
  • 这个工作流程提供workflow_dispatch事件触发。文本不会随着分支而改变。它似乎是从主人那里拿来的。或者,它可能取自最后一组结果。我没有对此进行测试,因为无论哪种方式,这都不是有用的行为。

解决方法是执行推送事件,这没问题,但这似乎与 Github 的高标准设计格格不入。

以上听起来是否 a) 关于正确和 b) 无论您如何看待它,而不是最佳行为?或者,是否有更好的方法来构建和测试操作?

github-actions

9
推荐指数
4
解决办法
2482
查看次数

如何将git-replace推送到远程仓库?

我用"git replace"替换了一个分支(没有共同的祖先)22b2b25来代替master中的提交.我希望这种改变是永久性的.我对以前的历史不感兴趣.在下面的输出中,前五个提交来自原始主分支,而底部2来自不同的分支.

当我把它推到一个新的存储库时,git-replace丢失了,旧的历史又重新出现了.有没有办法让这种变化永久化?

分支大师在原始仓库中看起来像下面.我希望在远程仓库和后续克隆中看到这一点.

[mike@localhost canal_site]$ git log --oneline --decorate
cdf0ae3 (HEAD, origin/master, master) MM: sqlencode course name for ad-hoc courses
2b57df5 MM: fixes for changes so far
7916eaf MM: ad hoc - more refactoring
1e00d22 MM: reformatted code
e36cee1 factored out equal ops
22b2b25 (origin/prod20140313, prod20140313) initial load from production 9-June-2015
08379cd initial inclusion of production files from 9-June-2015
Run Code Online (Sandbox Code Playgroud)

git

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

在.NET 4.0中嵌入interop程序集时,Excel get_Range丢失

我构建了一个引用COM互操作DLL的程序集.如果我通过在Reference的属性(VS2010)中将Embed Interop Types设置为True来嵌入COM互操作类型,则在运行时会发生错误"对象不包含get_Range的定义".如果未嵌入COM互操作类型,则不会发生错误.

有谁知道为什么一个特定的方法,Worksheet.get_Range应该被省略或如何解决这个或有任何其他相关的见解?我应该感激任何帮助.

interop dll包含对Worksheet.get_Range(object,[object])的引用.在我的调用程序集中使用反射器,在工作表下没有提到get_Range.

我嵌入的互操作程序集是从Excel9.olb生成的.我没有使用PIA,因为该应用程序针对多个Excel版本.

.net excel interop com-interop .net-4.0

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

asp.net 核心中的 IStartupFilter 有什么意义?

IStartupFilter 是库向应用程序添加中间件的机制的基础。根据文档“IStartupFilter 可用于确保中间件在应用程序请求处理管道的开始或结束处由库添加的中间件之前或之后运行”。

该机制是否允许您以任何无法从 Startup.Configure() 完成的方式操作管道?

如果重点是模块化,那么您似乎只是在通过 Startup.Configure() 交换耦合以通过 IServicesCollection 进行耦合(需要调用 DI)。在简单的情况下(根据示例),services.AddTransient<IStartupFilter, ...>()可以从 ConfigureServices() 中删除对 的调用,并且app.AddMiddleware<MyMiddleware>()可以添加以实现相同的功能,但复杂性和魔法更少。

该机制的要点是允许库应用关于应包含哪些中间件的条件?如果是这样,它似乎缺乏asp.net core 的习惯经济和设计的清晰度。

asp.net-core

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

在MSAccess中重命名列的DDL是什么?

在MS Access中重命名列的DDL是什么?有点像:

alter table myTable rename col1 to col2

这对MSAccess 2000格式数据库不起作用.我正在使用带有MSAccess 2000格式数据库的OLEDB或ADO.NET,但感谢任何语法提示或建议如何使用ADO.NET以其他方式实现此目的.

ddl ms-access

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

如何为SQL Server上的列中的每一行设置唯一ID

有没有办法将表中每行的某些列设置为某个唯一值,例如

update mytable set myCol=rownum() 
Run Code Online (Sandbox Code Playgroud)

在SQL Server 2000上使用SQL(而不是T/SQL).我无法触摸架构,但我确实有一两个备用列.

sql-server

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

用于.NET 4安装的Windows-7 reboot上的nsis不会继续安装

安装我的应用程序时,如果计算机上没有.NET 4.0,我还会安装.NET 4.0可再发行组件.

在Windows-7上,这有时(可能总是)导致重启(在nsis的控制之外).

我想在重启后继续安装.

我应该感谢有关如何使用nsis解决这个问题的建议.

nsis windows-7

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

如何选择从Excel运行的.NET框架版本?

除了将excel.exe.config文件添加到Office二进制文件夹之外,如何指定Excel在运行.NET dll时使用.NET framework 2.0版?

我们的应用程序在Excel中运行,并使用VBA调用.NET程序集中的托管代码.我相信教科书的方法是将excel.exe.config添加到Office二进制目录,其中包含:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这个选项对于我们的客户来说是不可接受的,首先是因为他们根本不允许我们将文件添加到Office目录中,即使他们这样做了,我们也不会冒险使用.NET v1.1破坏某些应用程序,这是Excel的默认选择.

我们认为可行的解决方案是将Excel.exe文件从客户端的Office目录复制到我们自己的应用程序目录,在那里添加配置文件并执行该文件.它运行良好,但我们遇到严重的安装问题,安装脚本无法找到正确版本的Excel.此外,它首先是一个讨厌的kludge.

任何想法都会受到欢迎.我想知道DLL中的一层非托管(非.NET)代码是否可行.关于如何做到这一点或一些更简单的替代方案的一些建议将被理解,因为这是非平凡的.

有关:

.NET app.config问题

.net excel

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